




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第14章SQL語句
目前關(guān)系數(shù)據(jù)庫管理系統(tǒng)都采用SQL語言作為數(shù)據(jù)庫語言,SQL語言成為關(guān)系數(shù)據(jù)庫的主流語言。本章以Access支持的SQL語言來討論其功能和使用方法。9.1.1SQL語言的特點(diǎn)
SQL語言是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言。Access所支持的SQL語言不是全部的SQL語言,下面我們所講的SQL語言都指的是Access所支持的SQL語言。14.3SQL中的數(shù)據(jù)查詢語句
數(shù)據(jù)庫中的數(shù)據(jù)很多時(shí)侯是為了查詢的,因此,數(shù)據(jù)查詢是數(shù)據(jù)庫的核心操作。而在SQL語言中,查詢語言中有一條查詢命令,即SELECT語句。14.3.1基本查詢語句(投影查詢)【格式】SELECT[ALL|DISTINCT]<字段列表>FROM<表>【功能】無條件查詢【說明】ALL:表示顯示全部查詢記錄,包括重復(fù)記錄。
DISTINCT:表示顯示無重復(fù)結(jié)果的記錄14.3.2選擇查詢【格式】SELECT<字段列表>FROM<表>WHERE<條件>【功能】有條件查詢【說明】在該條件中除了可以用關(guān)系表達(dá)式外,還可以使用以下運(yùn)算符:1.BETWEEN…AND…2.IN3.LIKE
舉例:1.顯示學(xué)生選課及成績(jī)表中考試成績(jī)?cè)?0-80之間的所有記錄。
SELECT*FROM學(xué)生選課及成績(jī)表
WHERE考試成績(jī)BETWEEN60AND802.顯示學(xué)生選課及成績(jī)表中考試成績(jī)?yōu)?5、88、90的所有記錄。
SELECT*FROM學(xué)生選課及成績(jī)表
WHERE考試成績(jī)IN(85,88,90)3.顯示學(xué)生信息表中的所有”王”姓同學(xué),只顯示姓名和性別字段SELECT姓名,性別FROM學(xué)生信息表
WHERE姓名like“王*”注:”*”表示可與一串字符匹配,”?”表示可與一個(gè)字符匹配14.3.3排序查詢
通過在SELECT命令中加入ORDERBY子句可控制行的顯示順序。ORDERBY可以按升序(默認(rèn)或ASC)、降序(DESC)排列各行,也可以按多個(gè)列來排序。注意:該子句必須是SELECT命中的最后一個(gè)子句【例】將學(xué)生選課及成績(jī)表中的考試成績(jī)字段按降序排列。
SELECT*FROM學(xué)生選課及成績(jī)表ORDERBY考試成績(jī)DESC14.3.4使用聚合函數(shù)
聚合函數(shù)用于實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)等功能.access中提供的聚合函數(shù)有AVG(),COUNT(),MIN(),MAX()SUM()等例:查詢”計(jì)算機(jī)網(wǎng)絡(luò)”班的學(xué)生人數(shù)。
Selectcount(*)from學(xué)生信息表where所在班級(jí)=“計(jì)算機(jī)網(wǎng)絡(luò)”或Selectcount([學(xué)號(hào)])from學(xué)生信息表where所在班級(jí)=“計(jì)算機(jī)網(wǎng)絡(luò)”例:查詢編號(hào)為”C011”的課程的考試成績(jī)的平均分。
selectavg([考試成績(jī)])as平均分from學(xué)生選課及成績(jī)表where課程號(hào)="C011"
上述例子中使用了聚合函數(shù),我們還可以加上GROUPBY子句,通常一個(gè)聚合函數(shù)的范圍是滿足WHERE子句指定的條件的所有記錄。在加上GROUPBY子句后,SELECT命令把查詢結(jié)果按指定列分成集合組。當(dāng)一個(gè)聚合函數(shù)和一個(gè)GROUPBY子句一起使用時(shí),聚合函數(shù)的范圍變?yōu)槊拷M的所有記錄。換句話說,一個(gè)結(jié)果是由組成一組的每個(gè)記錄聚合產(chǎn)生的。使用HAVING子句可以對(duì)這些組進(jìn)一步加以控制。用這一子句定義這些組所必須滿足的條件,便將其包含在結(jié)果中。當(dāng)WHERE子句、GROUPBY子句和HAVING子句同時(shí)出現(xiàn)在一個(gè)查詢中時(shí),SELECT的執(zhí)行順序如下:1、執(zhí)行WHERE子句,從表中選取行2、由GROUPBY對(duì)選取的行進(jìn)行分組3、執(zhí)行聚合函數(shù)4、執(zhí)行HAVING子句選取滿足條件的分組例:顯示學(xué)生考試成績(jī)平均分高于60分的學(xué)生的學(xué)號(hào)。
SELECT學(xué)號(hào)FROM學(xué)生選課及成績(jī)表GROUPBY學(xué)號(hào)HAVINGAVG([考試成績(jī)])>60例:顯示學(xué)生的考試成績(jī)的最低分大于60,最高分小于95的學(xué)生的學(xué)號(hào)。
SELECT學(xué)號(hào)
FROM學(xué)生選課及成績(jī)表
GROUPBY學(xué)號(hào)
HAVINGMIN([考試成績(jī)])>=60ANDMAX([考試成績(jī)])<=9514.3.5表的連接查詢
在數(shù)據(jù)查詢中,經(jīng)常涉及到提取兩個(gè)或多個(gè)表的數(shù)據(jù),這就需要使用表的連接來實(shí)現(xiàn)若干個(gè)表數(shù)據(jù)的聯(lián)合查詢。在一個(gè)查詢中,當(dāng)需要對(duì)兩個(gè)或多個(gè)表連接時(shí),可以指定連接列,在WHERE子句中給出連接條件,在FROM子句中指定要連接的表,其格式如下:
SELECT字段名1,字段名2,…FROM表1,表2…WHERE連接條件and一般條件對(duì)于連接的多個(gè)表,為了區(qū)別是哪個(gè)表中的列,在連接條件中通過表名前綴指定連接列,如:TEACHER.NO表示TEACHER表的NO列。例:顯示所有學(xué)生的課程名稱和考試成績(jī)字段。
SELECT課程表.課程名稱,學(xué)生選課及成績(jī)表.考試成績(jī)
FROM課程表,學(xué)生選課及成績(jī)表
WHERE課程表.課程號(hào)=學(xué)生選課及成績(jī)表.課程號(hào)
SELECT為了簡(jiǎn)化輸入,允許在查詢中使用表的別名,以縮寫表名,我們可以在SELECT子句中為表定義一個(gè)臨時(shí)別名,然后在查詢中引用。例:顯示所有學(xué)生的課程名稱和考試成績(jī)字段。
SELECTa.課程名稱,b.考試成績(jī)
FROM課程表a,學(xué)生選課及成績(jī)表bWHEREa.課程號(hào)=b.課程號(hào)如果涉及到更多的數(shù)據(jù)表該怎么做呢?例:顯示所有學(xué)生的姓名、課程名稱和考試成績(jī)字段。
SELECT學(xué)生信息表.姓名,課程表.課程名稱,學(xué)生選課及成績(jī)表.考試成績(jī)
FROM學(xué)生信息表,課程表,學(xué)生選課及成績(jī)表
WHERE學(xué)生信息表.學(xué)號(hào)=學(xué)生選課及成績(jī)表.學(xué)號(hào)and課程表.課程號(hào)=學(xué)生選課及成績(jī)表.課程號(hào)例:顯示每門課程的考試成績(jī)的平均分。SELECT學(xué)生選課及成績(jī)表.課程號(hào),AVG(學(xué)生選課及成績(jī)表.考試成績(jī))AS平均分FROM學(xué)生信息表,學(xué)生選課及成績(jī)表WHERE學(xué)生信息表.學(xué)號(hào)=學(xué)生選課及成績(jī)表.學(xué)號(hào)GROUPBY學(xué)生選課及成績(jī)表.課程號(hào)或例:顯示每門課程的考試成績(jī)的平均分。SELECTY.課程號(hào),AVG(Y.考試成績(jī))AS平均分FROM學(xué)生信息表X,學(xué)生選課及成績(jī)表YWHEREX.學(xué)號(hào)=Y.學(xué)號(hào)GROUPBYY.課程號(hào)例:顯示“計(jì)算機(jī)應(yīng)用”班所選課程的考試成績(jī)平均分。SELECT學(xué)生選課及成績(jī)表.課程號(hào),AVG(學(xué)生選課及成績(jī)表.考試成績(jī))AS平均分FROM學(xué)生信息表,學(xué)生選課及成績(jī)表WHERE學(xué)生信息表.學(xué)號(hào)=學(xué)生選課及成績(jī)表.學(xué)號(hào)AND學(xué)生信息表.所在班級(jí)="計(jì)算機(jī)應(yīng)用"GROUPBY學(xué)生選課及成績(jī)表.課程號(hào)或例:顯示“計(jì)算機(jī)應(yīng)用”班所選課程的考試成績(jī)平均分。SELECTY.課程號(hào),AVG(Y.考試成績(jī))AS平均分FROM學(xué)生信息表X,學(xué)生選課及成績(jī)表YWHEREX.學(xué)號(hào)=Y.學(xué)號(hào)ANDX.所在班級(jí)=“計(jì)算機(jī)應(yīng)用”
GROUPBYY.課程號(hào)
9.3.6子查詢
當(dāng)一個(gè)查詢是另一個(gè)查詢的條件時(shí),稱之為子查詢.子查詢可以使用幾個(gè)簡(jiǎn)單的命令構(gòu)造強(qiáng)大的復(fù)合命令。子查詢最常用于SQL命令的WHERE子句中。例:查詢和學(xué)號(hào)為“012101”的學(xué)生同年出生的所有學(xué)生的學(xué)號(hào),姓名和出生日期字段。
select學(xué)號(hào),姓名,出生日期from學(xué)生信息表whereyear([出生日期])=(selectyear([出生日期])from學(xué)生信息表where學(xué)號(hào)="012101")
例:查詢和學(xué)號(hào)為“012101”的學(xué)生同年同月同日出生的所有學(xué)生的學(xué)號(hào),姓名和出生日期字段。select學(xué)號(hào),姓名,出生日期from學(xué)生信息表where出生日期=(select出生日期from學(xué)生信息表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 注冊(cè)會(huì)計(jì)師考試的內(nèi)容結(jié)構(gòu)與試題及答案
- 微生物檢測(cè)的新設(shè)備與應(yīng)用試題及答案
- 全方位提升項(xiàng)目管理專業(yè)知識(shí)試題及答案
- 微生物檢驗(yàn)的風(fēng)險(xiǎn)評(píng)估試題及答案
- 微生物檢測(cè)的技術(shù)創(chuàng)新與挑戰(zhàn)試題及答案
- 試題及答案:批判性思維與微生物
- 教校長(zhǎng)課題申報(bào)書
- 注冊(cè)會(huì)計(jì)師考試2025年應(yīng)對(duì)財(cái)務(wù)舞弊的有效策略試題及答案
- 課題申報(bào)書序號(hào)格式
- 微生物檢驗(yàn)中的儀器使用與能力要求試題及答案
- 印刷出版行業(yè)返利
- 2025年貴州路橋集團(tuán)招聘筆試參考題庫含答案解析
- 銀行銷售技巧和話術(shù)培訓(xùn)
- 智能物流行業(yè)無人機(jī)配送解決方案
- T-GDCKCJH 091-2024 微生物電化學(xué)法水質(zhì)生物毒性現(xiàn)場(chǎng)快速檢測(cè)技術(shù)規(guī)范
- 2023年度行政事業(yè)單位內(nèi)部控制報(bào)告編報(bào)講解課件
- 第九單元跨學(xué)科實(shí)踐活動(dòng)8海洋資源的綜合利用與制鹽教學(xué)設(shè)計(jì)-2024-2025學(xué)年九年級(jí)化學(xué)人教版(2024)下冊(cè)
- 【MOOC】教學(xué)研究的數(shù)據(jù)處理與工具應(yīng)用-愛課程 中國大學(xué)慕課MOOC答案
- 《特種設(shè)備重大事故隱患判定標(biāo)準(zhǔn)》培訓(xùn)
- 省際聯(lián)盟骨科創(chuàng)傷類醫(yī)用耗材集中帶量采購中選結(jié)果
- 社會(huì)救助項(xiàng)目購買服務(wù)策劃方案
評(píng)論
0/150
提交評(píng)論