版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1第第 六六 章章SELECT 數(shù)據(jù)查詢數(shù)據(jù)查詢數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 20052本章學習目標本章學習目標 n掌握掌握SELECT查詢語句的結(jié)構(gòu)及各子句的使用查詢語句的結(jié)構(gòu)及各子句的使用n掌握聯(lián)接查詢掌握聯(lián)接查詢n掌握帶子查詢的嵌套查詢掌握帶子查詢的嵌套查詢n了解聯(lián)合查詢了解聯(lián)合查詢數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200536.1 SELECT 查詢語句查詢語句n所謂查詢,就是對已經(jīng)存在于數(shù)據(jù)庫中的數(shù)據(jù)所謂查詢,就是對已經(jīng)存在于數(shù)據(jù)庫中的數(shù)據(jù)按特定的組合、條件或次序進行檢索。查詢功按特定的組合、條件或次序進行檢索。查詢功能是數(shù)據(jù)庫最基本也是最重要的功能。能是數(shù)據(jù)庫最基本也是最重
2、要的功能。nSELECTSELECT語句從一個或者多個表或視圖中檢索記語句從一個或者多個表或視圖中檢索記錄,使用查詢編輯器輸入一條錄,使用查詢編輯器輸入一條SELECTSELECT語句,查語句,查詢情況將在結(jié)果窗口中顯示。詢情況將在結(jié)果窗口中顯示。 數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 20054查詢語句基本格式查詢語句基本格式SELECT | AS FROM WHERE GROUP BY HAVIING ORDER BY ASC或或DESC數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 20055說明:說明:nSELECTSELECT語句的含義是,根據(jù)語句的含義是,根據(jù)WHEREWHERE子句指定的子句指
3、定的條件,從條件,從FROMFROM子句后面的基本表或視圖中找出子句后面的基本表或視圖中找出滿足條件的記錄,再按照滿足條件的記錄,再按照SELECTSELECT子句指定的目子句指定的目標列表達式,選出這些記錄相應(yīng)的列形成結(jié)果標列表達式,選出這些記錄相應(yīng)的列形成結(jié)果集返回。其中,集返回。其中,SELECTSELECT子句和子句和FROMFROM子句是必選子句是必選的的,而,而WHEREWHERE子句、子句、GROUP BYGROUP BY子句、子句、HAVINGHAVING子子句以及句以及ORDER BYORDER BY子句都是可選的。子句都是可選的。數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005
4、6舉例舉例:SELECT SCode,SName,SAddress FROM Students WHERE SSEX = 0 ORDER BY SCode數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200576.1.2 SELECT 子句子句nSELECT DISTINCT TOP n | | AS n用于描述結(jié)果集中的列用于描述結(jié)果集中的列, 列之間用逗號分隔列之間用逗號分隔.數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200581. 投影表中的某些列投影表中的某些列SELECT SCode,SName,SAddress FROM StudentsSELECT SCode,SName,SAddress FR
5、OM StudentsWHERE sex=男男數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200592. TOP子句限制返回的行數(shù)子句限制返回的行數(shù)nTOP n PERCENT例例6-2USE LibraryGOSELECT TOP 5 BID,Bname,AuthorFROM BookGO數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200510使用使用PERCENT例例6-3USE LibraryGOSELECT TOP 20 PERCENT BID,Bname,AuthorFROM BookGO數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005113. 是否消除重復行是否消除重復行nALL|DISTINCT:
6、DISTINCT消除查詢結(jié)果中的重消除查詢結(jié)果中的重復行復行.例例6-4USE LibraryGOSELECT PubCompFROM BookGO數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200512使用使用DISTINCT消除重復行消除重復行USE LibraryGOSELECT DISTINCT PubCompFROM BookGO注意注意: DISTINCT必須緊跟在必須緊跟在SELECT后。后。數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005134. 用通配符用通配符“*”查詢表中所有列查詢表中所有列【例【例6-5】SELECT * FROM Book數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200
7、5145. 使用表達式計算列值使用表達式計算列值例例6-6SELECT BID,Bname,Author,PubComp,Price,Price*0.9 FROM Book數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005156. 自定義列標題自定義列標題例例6-8 SELECT BID,Bname,Author,PubComp,Price,Price*0.9 AS 折扣價折扣價 FROM Book數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005167. 使用列函數(shù)使用列函數(shù)(聚合函數(shù)聚合函數(shù))函數(shù)名函數(shù)名語法格式語法格式功能說明功能說明AVGAVG(ALL|DISTINCT 列名列名) 計算一個數(shù)值列
8、的平均值計算一個數(shù)值列的平均值SUMSUM(ALL|DISTINCT 列名列名) 計算一個數(shù)值列的總和計算一個數(shù)值列的總和MAXMAX(ALL|DISTINCT 列名列名) 返回指定列中的最大值返回指定列中的最大值MINMIN(ALL|DISTINCT 列名列名) 返回指定列中的最小值返回指定列中的最小值COUNT COUNT(DISTINCT 列名列名|*)統(tǒng)計查詢結(jié)果集中記錄的個數(shù)統(tǒng)計查詢結(jié)果集中記錄的個數(shù)數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200517COUNT(DISTINCT 列名列名|*)例例6-9SELECT COUNT(*) AS 冊數(shù)冊數(shù) -統(tǒng)計滿足條件的行數(shù)統(tǒng)計滿足條件的行
9、數(shù)FROM BookWHERE PubComp=高等教育出版社高等教育出版社例例6-10SELECT COUNT(DISTINCT(PubComp) -統(tǒng)計不重復的出版社的個數(shù)統(tǒng)計不重復的出版社的個數(shù)AS 出版社個出版社個數(shù)數(shù)FROM Book數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200518MAX,MIN,SUM,AVG函數(shù)的使用函數(shù)的使用例例6-11查詢查詢book表中圖書的總冊數(shù)表中圖書的總冊數(shù),最高價最高價,最低價最低價,總價值總價值,折扣后總價值折扣后總價值,平均價平均價.SELECT COUNT(*) AS 總冊數(shù)總冊數(shù),MAX(price) AS 最高價最高價,MIN(price)
10、 AS 最低價最低價,SUM(price) AS 總價值總價值,SUM(price*0.9) AS 折后總價值折后總價值,AVG(price) AS 平均價平均價FROM Book數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005196.1.3 FROM子句實現(xiàn)連接查詢子句實現(xiàn)連接查詢n格式格式: FROM 表表1,表表2 -詳見詳見6-2節(jié)節(jié)例例6-12USE 學生成績管理學生成績管理GOSELECT students.學號學號,姓名姓名,課程名稱課程名稱,成績成績FROM students,SC,courseWHERE students.學號學號=SC.學號學號 -連接條件連接條件 AND SC
11、.課程號課程號=course.課程號課程號 -連接條件連接條件GO數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200520為基本表指定臨時別名為基本表指定臨時別名例例6-13USE 學生成績管理學生成績管理GOSELECT s.學號學號,姓名姓名,課程名稱課程名稱,成績成績FROM students AS s,SC,course AS cWHERE s.學號學號=SC.學號學號 AND SC.課程號課程號=c.課程號課程號GO數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005216.1.4 WHERE子句選擇查詢子句選擇查詢n格式格式: WHERE 查詢條件查詢條件n功能功能: 查詢滿足條件的數(shù)據(jù)行查詢滿足
12、條件的數(shù)據(jù)行. 數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200522WHERE子句中的運算符子句中的運算符 運算符分類運算符分類運運 算算 符符意意 義義比較運算符比較運算符、=、=、=、!=、!、!20 AND 性別性別= 女女數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005263. 范圍運算符范圍運算符n格式格式:列名列名 NOT BETWEEN 開始值開始值 AND 結(jié)束值結(jié)束值n等價于等價于: (列名列名=開始值開始值 AND 列名列名 (SELECT AVG(定價定價) -子查詢結(jié)果是單值子查詢結(jié)果是單值 FROM Books )數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200562如果子查詢結(jié)果
13、包含多個值如果子查詢結(jié)果包含多個值n格式格式: 列名列名 比較運算符比較運算符 ALL|SOME|ANY(子查詢子查詢)n【例【例6-43】在】在Borrow表中,查詢讀者編號最大的讀表中,查詢讀者編號最大的讀者借書情況。者借書情況。nSELECT * FROM Borrow WHERE RID=ALL -子查詢結(jié)果是多值子查詢結(jié)果是多值 (SELECT RID FROM Reader )數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200563或或:nSELECT * FROM Borrow WHERE RID=ALL -子查詢結(jié)果是單值子查詢結(jié)果是單值,ALL可缺省可缺省 (SELECT MAX(R
14、ID) FROM Reader )數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005646.3.3 EXISTS (子查詢子查詢)n格式格式: EXISTS(子查詢子查詢)n功能功能: 當子查詢結(jié)果不為空集時當子查詢結(jié)果不為空集時,條件成立。條件成立。n【例【例6-45】從選課成績數(shù)據(jù)庫中,查詢出選修了至少】從選課成績數(shù)據(jù)庫中,查詢出選修了至少一門課(此學號在選課表中存在)的學生情況。一門課(此學號在選課表中存在)的學生情況。nSELECT * FROM students WHERE EXISTS (SELECT * FROM sc WHERE students.學號學號=sc.學號學號)數(shù)據(jù)庫應(yīng)用
15、技術(shù)SQL Server 2005656.3.4 子查詢在其他語句中的使用子查詢在其他語句中的使用n子查詢還可以用于子查詢還可以用于UPDATE和和DELETE語句中。語句中。n【例【例6-47】計算】計算reader表中已借數(shù)量表中已借數(shù)量”Lendnum”列的值。列的值。nUPDATE Reader SET Lendnum= (SELECT COUNT(*) FROM borrow WHERE ReturnDate IS NULL AND Reader.RID=Borrow.RID)數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200566【補充例【補充例1】刪除成績表】刪除成績表(SC)中成績最低
16、的記錄。中成績最低的記錄。nDELETE FROM SC WHERE 成績成績=(SELECT min(成績成績) FROM SC)【補充例【補充例2】刪除成績表】刪除成績表(SC)中成績最低的中成績最低的3條記錄。條記錄。nDELETE FROM SC WHERE 成績成績 IN(SELECT TOP 3 成績成績 FROM SCORDER BY 成績成績 ASC)數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005676.4 聯(lián)合查詢聯(lián)合查詢n格式格式: SELECT_1 UNION ALL SELECT_2 n【例【例6-48】SELECT 書名書名FROM Books WHERE 出版社出版社
17、=科技科技UNIONSELECT 書名書名FROM Books WHERE 出版社出版社=高教高教 -并運算并運算,不包括重復行不包括重復行數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200568聯(lián)合查詢結(jié)果排序聯(lián)合查詢結(jié)果排序 SELECT 編號編號,書名書名FROM Books WHERE 出版社出版社=科技科技UNION SELECT 編號編號,書名書名FROM Books WHERE 出版社出版社=高教高教 ORDER BY 編號編號 -按圖書編號排序按圖書編號排序 GO數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 200569作業(yè)作業(yè):n一、選擇題:一、選擇題:1-6n二、填空題:二、填空題:1,3數(shù)
18、據(jù)庫應(yīng)用技術(shù)SQL Server 200570補充題補充題1. 在在select語句中使用語句中使用“*”表示表示_。A全部元組全部元組 B表表 C全部屬性全部屬性 D鍵鍵2在在SQL的的SELECT語句中用于實現(xiàn)關(guān)系的連接運算的語句中用于實現(xiàn)關(guān)系的連接運算的短語是短語是_。AFOR BJOIN CWHERE DCONDITION 1. C2. B數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005713使用使用SQL語句進行分組檢索時,為了去掉不滿足條件語句進行分組檢索時,為了去掉不滿足條件的分組,應(yīng)當?shù)姆纸M,應(yīng)當_。A使用使用WHERE子句子句 B在在GROUP BY后面使用:后面使用:HAVIN
19、G子句子句 C先使用先使用WHERE子句,再使用子句,再使用HAVING子句子句 D先使用先使用HAVING子句,再使用子句,再使用WHERE子句子句3. B數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 2005724. 表達式表達式price between 5 and 20的含義是的含義是_。Aprice5 and price20 Bprice5 and price5 and price90或或SELECT s.*FROM STUDENT sWHERE 學號學號 IN( SELECT 學號學號 FROM SC WHERE 課程號課程號=C01 AND 成績成績90)數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server
20、 20058712、查詢成績最高的前、查詢成績最高的前3名學生的學號。名學生的學號。SELECT TOP 3 學號學號,成績成績 FROM SCORDER BY 成績成績 DESC補充習題答案補充習題答案數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 20058813、查詢成績最差的前、查詢成績最差的前10%學生的學號。學生的學號。SELECT TOP 10 PERCENT 學號學號,成績成績 FROM SCORDER BY 成績成績 ASC補充習題答案補充習題答案數(shù)據(jù)庫應(yīng)用技術(shù)SQL Server 20058914、查詢選修了、查詢選修了“C02”成績最高的學生的學號、成績最高的學生的學號、姓名、課程號、成績。姓名、課程號、成績。Select top 1 s.學號學號,姓名姓名,課程號課程號,成績成績From student s inner join SC on s.學號學號=SC.學號學號Wh
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年天津商務(wù)職業(yè)學院單招職業(yè)技能筆試備考試題帶答案解析
- 2026年泉州幼兒師范高等專科學校單招職業(yè)技能考試備考題庫帶答案解析
- 2026年鄭州電力高等??茖W校高職單招職業(yè)適應(yīng)性考試模擬試題帶答案解析
- 2026年重慶電力高等專科學校單招職業(yè)技能筆試備考試題帶答案解析
- 2026年江蘇農(nóng)牧科技職業(yè)學院單招職業(yè)技能考試備考題庫帶答案解析
- 2026年電致發(fā)光材料項目公司成立分析報告
- 2026年智能傳感器系統(tǒng)項目可行性研究報告
- 2026年智能 AR 健身眼鏡項目公司成立分析報告
- 2026年潮汐式栽培床項目評估報告
- 2025年鉗工(高級技師)職業(yè)技能鑒定試題及答案解析
- 四川省成都市天府新區(qū)2024-2025學年七上期末數(shù)學試卷(原卷版)
- 慢性病患者健康管理工作方案
- 2026年寧夏賀蘭工業(yè)園區(qū)管委會工作人員社會化公開招聘備考題庫有答案詳解
- 安全防范設(shè)計評估師基礎(chǔ)理論復習試題
- 骨關(guān)節(jié)疾病講解課件
- 第1課時 利用邊判定平行四邊形
- SJG 85-2020 邊坡工程技術(shù)標準-高清現(xiàn)行
- 附錄 表E.10 防火卷簾系統(tǒng)調(diào)試、檢測、驗收記錄(續(xù)表16)
- DL∕T 5610-2021 輸電網(wǎng)規(guī)劃設(shè)計規(guī)程
- 第二章世界貿(mào)易組織的基本架構(gòu)
- 噸每天啤酒廢水處理工藝設(shè)計
評論
0/150
提交評論