數(shù)據(jù)庫第三章習(xí)題參考答案_第1頁
數(shù)據(jù)庫第三章習(xí)題參考答案_第2頁
數(shù)據(jù)庫第三章習(xí)題參考答案_第3頁
數(shù)據(jù)庫第三章習(xí)題參考答案_第4頁
數(shù)據(jù)庫第三章習(xí)題參考答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

.3-2 對于教務(wù)管理數(shù)據(jù)庫的三個基本表 S(SNO,SNAME, SEX, AGE,SDEPT) SC(SNO,CNO,GRADE) C(CNO,CNAME,CDEPT,TNAME) 試用SQL的查詢語句表達下列查詢: 檢索LIU老師所授課程的課程號和課程名。 檢索年齡大于23歲的男學(xué)生的學(xué)號和姓名。 檢索學(xué)號為200915146的學(xué)生所學(xué)課程的課程名和任課教師名。 檢索至少選修LIU老師所授課程中一門課程的女學(xué)生姓名。 檢索WANG同學(xué)不學(xué)的課程的課程號。 檢索至少選修兩門課程的學(xué)生學(xué)號。 檢索全部學(xué)生都選修的課程的課程號與課程名。 檢索選修課程包含LIU老師所授課程的學(xué)生學(xué)號。 解: SELECT C#,CNAME FROM C WHERE TEACHER=LIU; SELECT S#,SNAME FROM S WHERE AGE23 AND SEX=M; SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND S#=200915146 SELECT SNAME (連接查詢方式) FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=F AND TEACHER=LIU; 或: SELECT SNAME (嵌套查詢方式) FROM S WHERE SEX=FAND S# IN (SELECT S# FROM SC WHERE C# IN (SELECT C# FROM C WHERE TEACHER=LIU) 或: SELECT SNAME (存在量詞方式) FROM S WHERE SEX=F AND EXISTS(SELECT* FROM SC WHERE SC.S#=S.S# AND EXISTS(SELECT * FROM C WHERE C.C#=SC.C# AND TEACHER=LIU) SELECT C# FROM C WHERE NOT EXISTS (SELECT * FROM S,SC WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=WANG); SELECT DISTINCT X.S# FROM SC AS X,SC AS Y WHERE X.S#=Y.S# AND X.C#!=Y.C#; SELECT C#.CNAME FROM C WHERE NOT EXISTS (SELECT * FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#); SELECT DISTINCT S# FROM SC AS X WHERE NOT EXISTIS (SELECT * FROM C WHERE TEACHER=LIU AND NOT EXISTS (SELECT * FROM SC AS Y WHERE Y.S#=X.S# AND Y.C#=C.C#); 3-3 試用SQL查詢語句表達下列對3.2題中教務(wù)管理數(shù)據(jù)庫的三個基本表S、SC、C查詢: 統(tǒng)計有學(xué)生選修的課程門數(shù)。 求選修4號課程的學(xué)生的平均年齡。 求LIU老師所授課程的每門課程的學(xué)生平均成績。 統(tǒng)計每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計)。要求輸出課程號和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列。 檢索學(xué)號比WANG同學(xué)大,而年齡比他小的學(xué)生姓名。 檢索姓名以WANG打頭的所有學(xué)生的姓名和年齡。 在SC中檢索成績?yōu)榭罩档膶W(xué)生學(xué)號和課程號。 求年齡大于女同學(xué)平均年齡的男學(xué)生姓名和年齡。 求年齡大于所有女同學(xué)年齡的男學(xué)生姓名和年齡。 解: SELECT COUNT(DISTINCT C#) FROM SC; SELECT AVG(AGE) FROM S,SC WHERE S.S#=SC.S# AND C#=4AND SEX=F; SELECT C.C#,AVG(GRADE) FROM SC,C WHERE SC.C#=C.C# AND TEACHER=LIU; SELECT C#,COUNT(S#) FROM SC GROUP BY C# HAVING COUNT(*)10 ORDER BY 2 DESC,1; SELECT SNAME FROM S WHERE S#ALL(SELECT S# FROM S WHERE SNAME=WANG AND AGE(SELECT AVG(AGE) FROM S WHERE SEX=F); SELECT SNAME,AGE FROM S WHERE SEX=MAND AGEALL(SELECT AGE FROM S WHERE SEX=F); 3-4 試用SQL更新語句表達對3.2給出的教務(wù)管理數(shù)據(jù)庫中三個基本表S、SC、C進行如下更新操作: 往基本表S中插入一個學(xué)生元組(200912143,張晶,21)。 在基本表S中檢索每一門課程成績都大于等于80分的學(xué)生學(xué)號、姓名和性別,并把檢索到的值送往另一個已存在的基本表STUDENT(SNO,SNAME,SEX)。 在基本表SC中刪除尚無成績的選課元組。 把張成民同學(xué)在SC中的選課記錄全部刪去。 把選修高等數(shù)學(xué)課程中不及格的成績?nèi)扛臑榭罩怠?把低于總平均成績的女同學(xué)成績提高5%。 在基本表SC中修改4號課程的成績,若成績小于等于75分時提高5%,若成績大于75分時提高4%(用兩個UPDATE語句實現(xiàn))。 解: INSERT INTO S(S#,SNAME,AGE) VALUES(200912143,張晶,21); INSERT INTO STUDENT (SNO,SNAME,SEX) SELECT S#,SNAME,SEX FROM S WHERE S# IN (SELECT S# FROM SC WHERE 80=ALL(SELECT GRADE FROM SC GROUP BY S#); DELETE FROM SCWHERE GRADE IS NULL; DELETE FROM SC WHERE S# IN(SELECT S# FROM S WHERE SNAME=張成民) UPDATE SC SET GRADE=NULL WHERE GRADE60 AND C# IN(SELECT C# FROM C WHERE CNAME=高等數(shù)學(xué)); UPDATE SC SET GRADE=GRADE*

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論