




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、簡單查詢由SELECT和FROM構(gòu)成的無條件查詢,或由SELECT、FROM和WHERE構(gòu)成的條件查詢。 一般格式: SELECT DISTINCT 字段名表 FROM 數(shù)據(jù)庫名!表名 SELECT DISTINCT 字段名表 FROM 數(shù)據(jù)庫名!表名 WHERE 條件 ( DISTINCT短語功能是去掉重復(fù)值)select 工資 from 職工select distinct 工資 from 職工select * from 倉庫select 職工號 from 職工 where 工資>1230select distinct 倉庫號 from 職工 where 工資>1210selec
2、t 職工號 from 職工 where 工資<1250 and (倉庫號="wh1" or 倉庫號="wh2")簡單的聯(lián)接查詢基于多個關(guān)系(表)的查詢。 一般格式: SELECT DISTINCT 字段名表 FROM 數(shù)據(jù)庫名!表名1, 數(shù)據(jù)庫名!表名2,數(shù)據(jù)庫名!表名3 WHERE 各表間的聯(lián)接條件 AND 其它查詢條件 select 職工號,城市 from 職工,倉庫 where (工資>1230)and(職工.倉庫號=倉庫.倉庫號)select 職工號,城市 from 職工,倉庫 where (面積>400)and(職工.倉庫號=
3、倉庫.倉庫號)嵌套查詢查詢結(jié)果出自一個表但條件卻涉及另外的多個相關(guān)表。 一般格式: SELECT DISTINCT 字段名表 FROM 數(shù)據(jù)庫名!表名 WHERE 字段名 IN (SELECT 字段名 FROM 另一表名)select 城市 from 倉庫 where 倉庫號 in;(select 倉庫號 from 職工 where 工資=1250)select * from 倉庫 where 倉庫號 not in;(select 倉庫號 from 職工 where 工資<=1210)select * from 倉庫 where 倉庫號 not in;(select 倉庫號 from 職
4、工 where 工資<=1210);and 倉庫號 in(select 倉庫號 from 職工)select 職工號 from 職工 where 工資=;(select 工資 from 職工 where 職工號="e4")幾個特殊運(yùn)算符1查詢的條件是在什么范圍之內(nèi)可以使用BETWEENAND 。 select * from 職工 where 工資 between 1220 and 1240 2007年4月份考試試題:(18)在SQL語句中,與表達(dá)式“年齡 BETWEEN 12 AND 46”功能相同的表達(dá)式是 A)年齡>=12 OR <=46 B)年齡&g
5、t;=12 AND <=46 C)年齡>=12 OR 年齡<=46 D)年齡>=12 AND 年齡<=46 2字符串匹配查詢可以使用LIKE運(yùn)算符。 select * from 供應(yīng)商 where 供應(yīng)商名 like “%公司” 通配符“%”表示0個或多個字符,另外還有一個通配符“_”表示一個字符或漢字。 3SQL中“!=”及“NOT”的應(yīng)用。 select * from 供應(yīng)商 where 地址!="北京"select * from 職工 where 工資 not between 1220 and 1240 2008年4月份考試試題:(8)在
6、SQL的WHERE子句的條件表達(dá)式中,字符串匹配(模糊查詢)的運(yùn)算符是 LIKE 。排序?qū)⒉樵兘Y(jié)果排序可以使用ORDER BY短語,格式如下: ORDER BY 字段名1ASC|DESC,字段名2ASC|DESC select * from 職工 order by 工資select * from 職工 order by 倉庫號,工資簡單的計(jì)算查詢SQL語言功能完備,它不僅具有一般的檢索能力,而且還有計(jì)算方式的檢索,用于計(jì)算機(jī)檢索的函數(shù)有: COUNT計(jì)數(shù) SUM求和 AVG計(jì)算平均值 MAX不最大值 MIN求最小值這些函數(shù)可以用在SELECT短語中對查詢結(jié)果進(jìn)行計(jì)算。select count(
7、distinct 地址) from 供應(yīng)商select count(*) from 供應(yīng)商select sum(工資) from 職工select sum(distinct 工資) from 職工select sum(工資) from 職工 where 倉庫號 in;(select 倉庫號 from 職工 where 城市="北京" or 城市="上海")select avg(面積) from 倉庫 where 倉庫號 not in;(select 倉庫號 from 職工 where 工資<=1210)select avg(面積) from 倉庫
8、where 倉庫號 not in;(select 倉庫號 from 職工 where 工資<=1210);and 倉庫號 in(select 倉庫號 from 職工)select max(工資) from 職工 where 倉庫號="wh2"select min(工資) from 職工 where 倉庫號="wh2"分組與計(jì)算查詢在實(shí)際應(yīng)用中,利用GROUP BY分組進(jìn)行計(jì)算機(jī)查詢使用的更廣泛。其格式: GROUP BY 分組字段,分給字段HAVING 分組條件 select 倉庫號,avg(工資) from 職工;group by 倉庫號sele
9、ct 倉庫號,count(*),avg(工資) from 職工;group by 倉庫號 having count(*)>=2利用空值查詢(IS NULL)select * from 訂購單 where 供應(yīng)商號 is nullselect * from 訂購單 where 供應(yīng)商號 is not null 2006年9月份考試試題:(10)在 SQL 語句中空值用【10】表示。(IS NULL) 2007年9月份考試試題:(6)如下命令查詢雇員表中“部門號“字段為空值的記錄SELECT * FROM 雇員WHERE部門號【6】 。 (IS NULL) 2008年4月份考試試題:(11)
10、在SQL中,要查詢表S在AGE字段上取空值的記錄,正確的SQL語句為: SELECT * FROM S WHERE AGE IS NULL 別名與自聯(lián)接查詢SQL中允許在FROM短語中為關(guān)系名定義別名。 select 供應(yīng)商名 from 供應(yīng)商,訂購單,職工,倉庫;where 地址="北京" and 城市="北京"and 供應(yīng)商.供應(yīng)商號=訂購單.供應(yīng)商號;and 訂購單.職工號=職工.職工號;and 職工.倉庫號=倉庫.倉庫號select 供應(yīng)商名 from 供應(yīng)商 s,訂購單 p,職工 e,倉庫 w;where 地址="北京" a
11、nd 城市="北京"and s.供應(yīng)商號=p.供應(yīng)商號;and p.職工號=e.職工號;and e.倉庫號=w.倉庫號以上的操作中別名不是必須的,但在關(guān)系的自聯(lián)接操作中,別名是必不可少的。 SQL的自聯(lián)接是將同一關(guān)系與其自身進(jìn)行聯(lián)接。這種聯(lián)接是根據(jù)一個表中出自同一值域的兩個不同字段進(jìn)行一對多聯(lián)系。 實(shí)例說明:有這樣一個名稱為雇員的關(guān)系: select s.雇員姓名," 領(lǐng)導(dǎo) ",e.雇員姓名 from 雇員 s,雇員 e;where s.雇員號=e.經(jīng)理內(nèi)外層互相關(guān)嵌套查詢是一種內(nèi)外層互相關(guān)的查詢,這種查詢內(nèi)層查詢的條件需要外層查詢提供,而外層查詢的條件
12、需要內(nèi)層查詢的結(jié)果。 以前的我們學(xué)的是外層查詢需要內(nèi)層查詢提供條件值,而內(nèi)部查詢和外部查詢無關(guān)。select out.職工號,out.供應(yīng)商號,out.訂購單號,out.訂購日期,out.總金額;from 訂購單 out where 總金額=;(select max(總金額) from 訂購單 inner1;where out.職工號=inner1.職工號)使用量詞和謂詞的查詢1. 量詞查詢格式: <表達(dá)式><比較運(yùn)算符>ANY|SOME|ALL(子查詢)實(shí)例說明:select distinct 倉庫號 from 職工 where 工資>=any;(select
13、工資 from 職工 where 倉庫號="wh1")select distinct 倉庫號 from 職工 where 工資>=;(select min(工資) from 職工 where 倉庫號="wh1")select distinct 倉庫號 from 職工 where 工資>=all;(select 工資 from 職工 where 倉庫號="wh1")select distinct 倉庫號 from 職工 where 工資>=;(select max工資) from 職工 where 倉庫號="
14、wh1")select distinct 倉庫號 from 職工 where 工資>=;(select max(工資) from 職工 where 倉庫號="wh1") 2. 謂詞查詢格式: NOT EXISTS(子查詢)實(shí)例說明:select * from 倉庫 where not exists;(select * from 職工 where 倉庫號=倉庫.倉庫號)select * from 倉庫 where not in;(select 倉庫號 from 職工)select * from 倉庫 where 倉庫號 not in;(select 倉庫號 f
15、rom 職工)select * from 倉庫 exists;(select * from 職工 where 倉庫號=倉庫.倉庫號)select * from 倉庫 where exists;(select * from 職工 where 倉庫號=倉庫.倉庫號)select * from 倉庫 where 倉庫號 in;(select 倉庫號 from 職工)超聯(lián)接查詢前面我們學(xué)的聯(lián)接只是查詢出滿足聯(lián)接條件的信息,而超聯(lián)接查詢功能更加強(qiáng)大,可以根據(jù)需要查詢出更多聯(lián)接情況的信息,有四種聯(lián)接情況的格式: 1普通聯(lián)接(內(nèi)部聯(lián)接) 基本格式:SELECT FROM 左表 INNER JOIN 右表 O
16、N 聯(lián)接條件 WHERE 其它條件 select 倉庫.倉庫號,城市,面積,職工號,工資;from 倉庫 join 職工;on 倉庫.倉庫號=職工.倉庫號select 倉庫.倉庫號,城市,面積,職工號,工資;from 倉庫 inner join 職工;on 倉庫.倉庫號=職工.倉庫號select 倉庫.倉庫號,城市,面積,職工號,工資;from 倉庫,職工 where 倉庫.倉庫號=職工.倉庫號2左聯(lián)接 基本格式:SELECT FROM 左表 LEFT JOIN 右表 ON 聯(lián)接條件 WHERE 其它條件 除滿足聯(lián)接條件的記錄出現(xiàn)在查詢結(jié)果中外,左表中不滿足聯(lián)接條件的記錄也出現(xiàn)在查詢中,而相關(guān)
17、的右表查詢字段值是NULL。 例:select 倉庫.倉庫號,城市,面積,職工號,工資;from 倉庫 left join 職工;on 倉庫.倉庫號=職工.倉庫號3右聯(lián)接 基本格式:SELECT FROM 左表 RIGHT JOIN 右表 ON 聯(lián)接條件 WHERE 其它條件 除滿足聯(lián)接條件的記錄出現(xiàn)在查詢結(jié)果中外,右表中不滿足聯(lián)接條件的記錄也出現(xiàn)在查詢中,而相關(guān)的左表查詢字段值是NULL。 例:select 倉庫.倉庫號,城市,面積,職工號,工資;from 倉庫 right join 職工;on 倉庫.倉庫號=職工.倉庫號4全聯(lián)接 基本格式:SELECT FROM 左表 FULL JOIN
18、右表 ON 聯(lián)接條件 WHERE 其它條件 查詢的左右表各個字段的所用值全部顯示,有滿足聯(lián)接條件的記錄在同行輸出,不滿足聯(lián)接條件的字段相應(yīng)列將顯示為NULL。 例: select 倉庫.倉庫號,城市,面積,職工號,工資;from 倉庫 full join 職工;on 倉庫.倉庫號=職工.倉庫號注意:超聯(lián)接查詢中多個表聯(lián)接時,要注意FROM后中間表是連接前后表的紐帶必是與前后表都有聯(lián)接關(guān)系的,另外FROM后表名的順序與條件ON的順序是相反的。 例:select 倉庫.倉庫號,城市,供應(yīng)商名,地址;from 供應(yīng)商 join 訂購單 join 職工 join 倉庫;on 職工.倉庫號=倉庫.倉庫號
19、;on 訂購單.職工號=職工.職工號;on 供應(yīng)商.供應(yīng)商號=訂購單.供應(yīng)商號集合的并運(yùn)算SQL支持集合的并(UNION)運(yùn)算,可以將具有相同查詢字段個數(shù)且對應(yīng)字段值域相同的SQL查詢語句用UNION短語聯(lián)接起來,合并成一個查詢結(jié)果輸出。 select * from 倉庫 where 城市="北京"union;select * from 倉庫 where 城市="上海" 2006年4月份考試試題:(11)SQL支持集合的并運(yùn)算,運(yùn)算符是 【11】 。 (UNION)Visual FoxPro中SQL SELECT的幾個特殊選項(xiàng)1顯示排序查詢中的部分結(jié)果
20、基本格式: SELECT TOP 數(shù)字 PERCENT FROM 表名 WHERE ORDER BY TOP短語必須與ORDER BY短語同時使用才有效。 “數(shù)字”在沒PERCENT時是1至32767間的數(shù),有PERCENT時是0.01至99.99間的實(shí)數(shù)。 select * top 3 from 職工 order by 工資 descselect * top 30 percent from 職工 order by 工資 2007年4月份考試試題:(11)“歌手”表中有“歌手號”、“姓名”和“最后得分”三個字段,“最后得分”越高名次越靠前,查詢前10名歌手的SQL語句是 SELECT * 【1
21、1】 FROM 歌手 ORDER BY 最后得分 【12】 (TOP 10)、(DESC)2將查詢結(jié)果存放到數(shù)組中 在SQL查詢語句的尾部添加INTO ARRAY <數(shù)組名>可以將查詢的結(jié)果放入指定的數(shù)組中。此操作的主要目的通常是將一個表中的查詢數(shù)據(jù)添到另一個已存在的表中。 select * from 職工 into array tmp 3將查詢結(jié)果存放到臨時表中 在SQL查詢語句的尾部添加INTO CURSOR <臨時表名>可以將查詢的結(jié)果放入指定的臨時表中。此操作的通常是將一個復(fù)雜的查詢分解,臨時表通常不是最終結(jié)果,可以接下來對臨時表操作得到最終結(jié)果。生成的臨時表是
22、當(dāng)前被打開的并且是只讀的,關(guān)閉該文件時將自動刪除。 select * from 職工 into cursor tmp4將查詢結(jié)果存放到永久表中 在SQL查詢語句的尾部添加INTO DBF|TABLE <表名>可以將查詢的結(jié)果放入新生成的指定表中。 select * top 3 from 職工 into table highsal order by 工資 desc 2006年9月份考試試題:(9)在 SQL SELECT 語句中為了將查詢結(jié)果存儲到永久表應(yīng)該使用【9】短語。(INTO TABLE 或 INTO DBF)5將查詢結(jié)果存放到文本文件中 在SQL查詢語句的尾部添加TO FI
23、LE <文本文件名>可以將查詢的結(jié)果放入新生成的指定.TXT文件中。 select * top 3 from 職工 to order by 工資 desc 6將查詢結(jié)果直接輸出到打印機(jī) 在SQL查詢語句的尾部添加TO PRINTER PROMPT可以將查詢的結(jié)果直接輸出到打印機(jī)。 select * top 3 from 職工 to printer prompt order by 工資 desc7.將查詢結(jié)果直接輸出到屏幕使用短語TO SCREENselect * from 職工 to screen插入數(shù)據(jù)Visual FoxPro中有標(biāo)準(zhǔn)格式和特殊格式兩中。標(biāo)準(zhǔn)格式: INSERT
24、 INTO 表名(字段名表) VALUES(插入值表達(dá)式1,插入值表達(dá)式2,) 例:insert into 職工(職工號,倉庫號,工資) values("e9","wh9",1800)特殊格式: INSERT INTO 表名 FROM ARRAY 數(shù)組名 | FROM MEMVAR FROM ARRAY 數(shù)組名 說明從指定的數(shù)組中插入記錄值 FROM MEMVAR 說明根據(jù)同名的內(nèi)存變量來插入記錄值,如果同名的變量不存在,那么相應(yīng)的字段為默認(rèn)值或空值。更新數(shù)據(jù)格式:UPDATE 表名 SET 字段名1=表達(dá)式1 ,字段名2=表達(dá)式2 WHERE 條件例:
25、update 職工 set 工資=工資*1.10 where 倉庫號="wh9“ 2006年4月份考試試題:(31)要使”產(chǎn)品”表中所有產(chǎn)品的單價(jià)上浮8,正確的SQL命令是A)UPDATE 產(chǎn)品 SET 單價(jià)=單價(jià)+單價(jià)*8 FOR ALL B)UPDATE 產(chǎn)品 SET 單價(jià)=單價(jià)*1.08 FOR ALLC)UPDATE 產(chǎn)品 SET 單價(jià)=單價(jià)+單價(jià)*8 D)UPDATE 產(chǎn)品 SET 單價(jià)=單價(jià)*1.08刪除數(shù)據(jù)格式:DELETE FROM 表名 WHERE 條件是邏輯刪除指定表中滿足條件的記錄,如果 要物理刪除記錄需要繼續(xù)使用PACK命令。delete from 職工 wh
26、ere 倉庫號="wh9"§4.4.1 表的定義 一般格式:CREATE TABLE|DBF 表名(字段1名 類型(寬度)NULL|NOT NULLCHECK 規(guī)則ERROR 提示信息DEFAULT 默認(rèn)值PRIMARY KEY|UNIQUE, 字段2名 類型(寬度),) create database 訂貨管理1create table 倉庫1(;倉庫號 c(5) primary key,;城市 c(10)表的刪除一般格式:DROP TABLE 表名drop table 倉庫1delete database 訂貨管理1 2005年4月份考試試題:(26)在Visual FoxPro中,刪除數(shù)據(jù)庫表S的SQL命令是_。A)DROP TABLE SB)DELETE TABLE SC)DELETE TABLE S.DBFD)ERASE TABLE S表結(jié)構(gòu)的修改格式1:ALTER TABLE 表名 ADD|ALTER COLUMN 字段名1 類型(寬度,小數(shù)位) NULL|NOT NULLCHECK 規(guī)則表達(dá)式 ERROR 提示信息DEFAULT 默認(rèn)值 PRIMARY KEY|UNIQUE 格式2:ALTER TABLE 字段名1 ALTER COLUMN 字段名2 NULL|NOT NULL SET DEFAULT 默認(rèn)值SET CHECK
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村材料合同范本
- 動產(chǎn)汽車互易合同范本
- 企業(yè)投資期權(quán)合同范本
- 2024年徐州市凱信電子設(shè)備有限公司招聘考試真題
- 勞動關(guān)系合同范本
- 2024年西安醫(yī)學(xué)院第一附屬醫(yī)院灃東醫(yī)院招聘筆試真題
- 2024年臺州仙居縣人民醫(yī)院醫(yī)共體招聘工作人員筆試真題
- 2024鞍鋼資本金融管理業(yè)務(wù)人才招聘4人筆試參考題庫附帶答案詳解
- 第16課《誡子書》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語文七年級上冊
- 出售環(huán)衛(wèi)用車合同范本
- 林木育種學(xué):第二講 林木選育技術(shù)基礎(chǔ)課件
- 部編版小學(xué)二年級語文下冊第七單元《寫話》課件
- 轉(zhuǎn)動機(jī)械找對輪找中心(有圖、有公式)課件
- 承插型盤扣式鋼管進(jìn)場驗(yàn)收記錄表
- 地基注漿加固記錄表
- CA-PDS新品投產(chǎn)管理手冊
- 初中生物實(shí)驗(yàn)?zāi)夸?蘇教版)
- 2022年幼兒語言教育活動設(shè)計(jì)與指導(dǎo)完整版課件整套電子教案
- 人教PEP版四年級下冊小學(xué)英語全冊同步練習(xí)(一課一練)
- DB44∕T 1786-2015 自然保護(hù)區(qū)陸生野生脊椎動物物種多樣性調(diào)查與監(jiān)測技術(shù)規(guī)范
- 01大學(xué)語文緒論
評論
0/150
提交評論