



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2.SELECT S.Sno ,SDSi e的學生學號與姓名 名和購M S三SCI性,分S WHERE S智直娜no, 的AND。SC.C=一(SC ;一WHERE Sno NOT IN(SELECT SnoFROM SCWHERE Cno=查詢問題:設教學數(shù)據(jù)庫Education有三個關系:學生關系 S (SNQ SNAME AGE SEX, SDEPT ;學習 關系 SC (SNQ CNQ GRADE ;課程關系 C ( CNQ CNAME CDEPT TNAME(1)檢索計算機系的全體學生的學號,姓名和性別;(2)檢索學習課程號為 C2的學生學號與姓名;(3)檢索選修課程名為“ DS的學
2、生學號與姓名;(4)檢索選修課程號為 C2或C4的學生學號;(5)檢索至少選修課程號為C2和C4的學生學號;(6)檢索不學C2課的學生姓名和年齡;(7)檢索學習全部課程的學生姓名;(8)查詢所學課程包含學生S3所學課程的學生學(1)檢索計算機系的全體學生的學號,姓名和性別;SELECT Sno, Sname SexFROM SWHERE Sdept = C6 ;(2)檢索學習課程號為 C2的學生學號與姓名;1.SELECT Sno, Sname國唾眶源或常號、姓 別存放FROS福CC去中,但 須通型爭退儂宓它們二者 叱本感路J(1)首先在C表中找出“ DS課程的課程號 Cno;(2)然后在SC
3、表中找出Cno等于第一步給出的 Cno集 合中的某個元素Cno;(3)最后在S關系中選出Sno等于第二步中Sno集 合中某個元素的元組,取出Sno和Sname送入結果表SELECT Sno, Sname FROM S WHERE Sno IN(SELECT SnoFROM SCWHERE Cno IN (SELECT Cno FROM CWHERE Cname= DS );(4)檢索選修課程號為 C2或C4的學生學號;SELECT Sno FROM SCWHERE Cno= C2 OR Cno= C4;(5)檢索至少選修課程號為 C2和C4的學生學號;SELECT SnoFROM SC X,
4、SC YWHERE X.Sno=Y.Sno AND X.Cno= C2 ANDY.Cno= C4;(6)檢索不學C2課的學生姓名和年齡;.SELECT Sname frOm SWHERE NOT EXISTS(SELECT *FROM SCWHERE SC.Sno=S.Sno 在表S中找學生,要求這個學生學了全部課程。換言 之,在S表中找學生,在 C中不存在一門課程,這個 學生沒有學。SELECT Sname FROM SWHERE NOT EXISTS(SELECT * FROM CWHERE NOT EXISTS (SELECT *FROM SCWHERE SC.Sno=S.Sno AND
5、 SC.Cno=C.Cno);(8)查詢所學課程包含學生 S3所學課程的學生學分析:不存在這樣的課程Y,學生S3選了 Y,而其他學生沒有選。SELECT DISTINCT Sno FROM SC AS X WHERE NOT EXISTS(SELECT * FROM SC AS YWHERE Y.Sno= S3 AND NOT EXISTS (SELECT *FROM SC AS ZWHERE Z.Sno=X.Sno ANDZ.Cno=Y.Cno); 設教學數(shù)據(jù)庫Education有三個關系: 學生關系 S (SNO SNAME AGE SEX SDEPT ; 學習關系 SC (SNO CNO
6、 GRADE; 課程關系 C (CNO CNAMIE CDEPT TNAME 查詢問題:1:查所有年齡在 20歲以下的學生姓名及年齡。2:查考試成績有不及格的學生的學號3:查所年齡在20至23歲之間的學生姓名、系別及年 齡。4:查計算機系、數(shù)學系、信息系的學生姓名、性 別。5:查既不是計算機系、數(shù)學系、又不是信息系的學 生姓名、性別6:查所有姓“劉”的學生的姓名、學號和性別。7:查姓“上官”且全名為3個漢字的學生姓名。8:查所有不姓“張”的學生的姓名。9:查DB_Design課程的課程號。10:查缺考的學生的學號和課程號。11:查年齡為空值的學生的學號和姓名。12:查計算機系20歲以下的學生的
7、學號和姓名。13:查計算機系、數(shù)學系、信息系的學生姓名、性 別。14:查詢選修了 C3課程的學生的學號和成績,其結 果按分數(shù)的降序排列。15:查詢全體學生的情況,查詢結果按所在系升序排 列,對同一系中的學生按年齡降序排列。16:查詢學生總人數(shù)。17:查詢選修了課程的學生人數(shù)。18:計算選修了 C1課程的學生平均成績。19:查詢學習C3課程的學生最高分數(shù)。20:查詢各個課程號與相應的選課人數(shù)。21:查詢計算機系選修了3門以上課程的學生的學號。22:求基本表S中男同學的每一年齡組(超過 50人) 有多少人?要求查詢結果按人數(shù)升序排列,人數(shù)相同 按年齡降序排列。23:查詢每個學生及其選修課程的情況。
8、24:查詢選修了 C2課程且成績在90分以上的所有學 生。25:查詢每個學生選修的課程名及其成績。26:統(tǒng)計每一年齡選修課程的學生人數(shù)。27:查詢選修了 C2課程的學生姓名。28:查詢與“張三”在同一個系學習的學生學號、姓名和系別。29:查詢選修課程名為“數(shù)據(jù)庫”的學生學號和姓名。30:查詢與“張三”在同一個系學習的學生學號、姓 名和系別。31:查詢選修課程名為“數(shù)據(jù)庫”的學生學號和姓名。32:查詢選修了 C2課程的學生姓名。33:查詢所有未選修 C2課程的學生姓名。34:查詢與“張三”在同一個系學習的學生學號、姓名和系別。35:查詢選修了全部課程的學生姓名。36:查詢所學課程包含學生 S3所
9、學課程的學生學號 (1)比較例1:查所有年齡在20歲以下的學生姓名及年齡。SELECT Sname , Sage FROM SWHERE Sage=20)例2:查考試成績有不及格的學生的學號SELECT DISTINCT Sno FROM SCWHERE grade60 ;(2)確定范圍例3:查所年齡在20至23歲之間的學生姓名、系別及年齡。SELECT Sname , Sdept, Sage FROM SWHERE Sage BETWEEN 20 AND 23;(3)確定集合例4:查計算機系、數(shù)學系、信息系的學生姓名、性別。SELECT Sname , SsexFROM SWHERE Sde
10、pt IN ( CS , IS,MATH );例5:查既不是計算機系、數(shù)學系、又不是信息系的學生姓名、性別SELECT Sname , SsexFROM SWHERE Sdept NOT IN ( CS ,IS,MATH );(4)字符匹配例6:查所有姓“劉”的學生的姓名、學號和性別。SELECT Sname , Sno, SsexFROM SWHERE Sname LIKE 劉 ;例7:查姓“上官”且全名為3個漢字的學生姓名。SELECT SnameFROM SWHERE Sname LIKE 上官 ;例8:查所有不姓“張”的學生的姓名。SELECT Sname , Sno, SsexFRO
11、M SWHERE Sname NOT LIKE 張 % ;例9:查DB_Design課程的課程號。SELECT CnoFROM CWHERE Cname LIKE DB_Design ESCAPE(5)涉及空值的查詢例10:查缺考的學生的學號和課程號。SELECT Sno , CnoFROM SCWHERE Grade IS NULL ;(不能用二代替) 有成績的 WHERE Grade IS NOT NULLL ; 例11:查年齡為空值的學生的學號和姓名。SELECT Sno , Sname FROM SWHERE Sage IS NULL ;(6)多重條件查詢例12:查計算機系20歲以下的
12、學生的學號和姓名。SELECT Sno , Sname FROM SWHERE Sdept= CS AND Sage3;WHERE?句與HAVING短語的根本區(qū)別在于作用對象 不同。WHER3句作用于基本表或視圖,從中選擇滿 足條件的元組。HAVING短語作用于組,從中選擇滿足 條件的組。例22:求基本表S中男同學的每一年齡組(超過 50 人)有多少人?要求查詢結果按人數(shù)升序排列,人數(shù) 相同按年齡降序排列。SELECT Sage , COUNT( Sno) FROM SWHERE Ssex=MGROUP BY SageHAVING COUNT*) 50ORDER BY 2 Sage DESC;
13、二、多表查詢1、聯(lián)接查詢例23:查詢每個學生及其選修課程的情況。SELECTS.Sno,Sname,Sage,Ssex,Sdept,Cno,Grade FROM S, SCWHERE S.Sno=SC.Sno ;例24:查詢選修了 C2課程且成績在 90分以上的所有 學生。SELECT S.Sno , Sname FROM S , SC WHERE S.Sno=SC.Sno AND SC.Cno=C2AND SC.Grade 90;例25:查詢每個學生選修的課程名及其成績。SELECT S.Sno , Sname Cname SC.Grade FROM S , SC, C WHERE S.Sn
14、o=SC.Sno AND SC.Cno=C.Cno 例26:統(tǒng)計每一年齡選修課程的學生人數(shù)。SELECT Sage , COUNT(DISTINCT S.Sno) FROM S , SC WHERE S.Sno=SC.Sno GROUP BY S ;由于要統(tǒng)計每一個年齡的學生人數(shù),因此要把滿 足WHER子句中條件的查詢結果按年齡分組,在每一 組中的學生年齡相同。此時的SELECT?句應對每一組分開進行操作,在每一組中,年齡只有一個值,統(tǒng) 計的人數(shù)是這一組中的學生人數(shù)。1、嵌套查詢(1)帶有IN謂詞的子查詢 指父查詢與子查詢之間用IN進行聯(lián)接,判斷某個屬性列值是否在子查詢的結果中。例27:查詢選
15、修了 C2課程的學生姓名。SELECT Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno=C2);例28:查詢與“張三”在同一個系學習的學生學號、 姓名和系別。分析:(1)確定“張三”所在的系;(2)查找所有在 X系學習的學生。SELECT Sdept FROM S WHERE Sname=張三; SELECT Sno , Sname Sdept FROM S WHERE Sdept= X把第一步查詢嵌入到第二步查詢中,用以構造第二 步查詢的條件。SELECT Sno , Sname FROM S WHERE Sdept IN (S
16、ELECT Sdept FROM S WHERE Sname=張三);例29:查詢選修課程名為“數(shù)據(jù)庫”的學生學號和姓 名。一 FROM S AS S1, S AS S2 SdeptWhere S1.Sdept=S2.SdeptAND S2.Sname=張三本查詢涉及到學號、姓名和課程名三個屬性, 分別存放在S和C表中,但S和C表沒有直接聯(lián)系,必須通過SC表建立它們二者的聯(lián)系。CfSC f S基本思路:(1)首先在C表中找出“ DB課程的課程號 Cno;(2)然后在SC表中找出Cno等于第一步給出的 Cno集 合中的某個元素Cno;(3)最后在S關系中選出Sno等于第二步中Sno集 合中某個元
17、素的元組,取出 Sno和Sname送入結果表 列。SELECT Sno , Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno IN(SELECT Cno FROM C WHERE Cname=DB ); 聯(lián)接查詢方式 (2)帶有比較運算符的子查詢 例30:查詢與“張三”在同一個系學習的學生學號、 姓名和系別。SELECT Sno , Sname Sdept FROM SWHERE Sdept =(SELECT Sdept FROM SWHERE Sname=張三);例31 :查詢選修課程名為“數(shù)據(jù)庫”的學生學號和姓 名。SELECT
18、 Sno , Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno =(SELECT Cno FROM C WHERE Cname=DB );(3)帶有EXISTS謂詞的子查詢(1)帶有EXISTS謂詞的子查詢不返回任何實際數(shù) 據(jù),它只產(chǎn)生邏輯值。例32:查詢選修了 C2課程的學生姓名。1.SELECT Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno= C2);2.SELECT Sname FROM S WHERE EXISTS (SELECT *FROM SCWHERE SC.Sno=S.Sno AND Cno= C2);例33:查詢所有未選修 C2課程的學生姓名。SELECT Sname FROM S WHERE NOT EXISTS (SELECT * FROM SCWHERE SC.Sno=S.Sno AND Cno=C2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年注塑維修機維修項目投資可行性研究分析報告
- 2025年中國葡萄汁飲料行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 勞務派遣服務的市場競爭力分析考核試卷
- 木地板制造進階課程考核試卷
- 2025年龍須紅石材項目投資可行性研究分析報告
- 中國商用車融資租賃行業(yè)市場全景調研及投資規(guī)劃建議報告
- 2025年太陽能不銹鋼螺絲行業(yè)深度研究分析報告
- 2025年耙子項目投資可行性研究分析報告
- 工程質量評估報告 模板
- 基因工程疫苗的免疫監(jiān)測與評估考核試卷
- 中考英語閱讀理解(含答案)30篇
- 《同濟大學簡介》課件
- 文化產(chǎn)業(yè)管理專業(yè)大學生職業(yè)生涯規(guī)劃書
- DSM-V美國精神疾病診斷標準
- 文獻的載體課件
- 2023年高考語文全國乙卷《長出一地的好蕎麥》解析
- 混凝土強度回彈檢測方案
- 歷年中考地理生物變態(tài)難題
- 研學旅行課程標準(一)-前言、課程性質與定位、課程基本理念、課程目標
- 部編版二年級下冊語文教案全冊
- 解放牌汽車CA10B后鋼板彈簧吊耳加工工藝及夾具設計哈
評論
0/150
提交評論