




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據庫第三章部分習題答案數據庫第三章部分習題答案數據庫第三章部分習題答案數據庫第三章部分習題答案編制僅供參考審核批準生效日期地址:電話:傳真:郵編:對于教學數據庫的三個基本表S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)試用SQL的查詢語句表達下列查詢:3.2.1檢索年齡小于17歲的女學生的學號和姓名selects#,snamefromSwhereage<17andsex=F;3.2.2檢索男生所學課程的課程號和課程名selectc#,cnamefromCwherec#in(selectdistinctc#fromSCwheres#in(selects#fromSwheresex=M))3.2.3檢索男生所學課程的任課老師的工號和姓名selectt#,tnamefromTwheret#in(selectdistinctt#fromCwherec#in(selectdistinctc#fromSC
wheres#in(selects#fromSwheresex=1)));3.2.4檢索至少選修兩門課程的學生的學號
selects#fromSCgroupbys#havingcount(c#)>=2;3.2.5檢索至少有學號為S2和S4所學的課程和課程名selectc#,cnamefromCwherec#in((selectc#fromscwheres#='S2')intersect(selectc#fromscwheres#='S4'));3.2.6檢索‘WANG’同學不學的課程號selectc#fromcexcept(selectdistinctc#fromscwheres#=(selects#fromswheresname='WANG'));3.2.7檢索全部學生都選修的課程號和課程名selectc#,cnamefromc
wherenotexists(selects#fromswhere#notin(selectc#fromscwhere#=#));3.2.8檢索選修課程包含'LIU'老師所授課程的全部課程的學生的學號和姓名selects#,snamefromswherenotexists((selectc#fromcwheret#=(selectt#fromtwheretname='LIU'))except(selectc#fromscwhere#=#));設有兩個基本表R(A,B,C)和S(A,B,C),試用SQL查詢語句表達下列關系代數表達式:=1\*GB3①R∪S =2\*GB3②R∩S =3\*GB3③R-S ④ R×S ⑤πA,B(R)πB,C(S)3=3課⑥π1,6(σ3=4(R×S) ⑦π1,2,3(RS) ⑧R÷πC(S)3=3課解:①(SELECT*FROMR) UNION (SELECT*FROMS);②(SELECT*FROMR) INTERSECT (SELECT*FROMS);③(SELECT*FROMR) MINUS (SELECT*FROMS);④SELECT*FROMR,S;⑤SELECT,,FROMR,SWHERE=;⑥SELECT,FROMR,SWHERE=;⑦SELECTR.* (R.*表示R中全部屬性)FROMR,SWHERE=;⑧ R÷πC(S)的元組表達式如下:{t|(?u)(?v)(?w)(R(u)∧S(v)∧R(w)∧w[1]=u[1]∧w[2]=u[2]∧w[3]=v[3]∧t[1]=u[1]∧t[2]=u[2])}據此,可寫出SELECT語句: SELECTA,BFROMRRXWHERENOTEXISTS(SELECT*FROMSWHERENOTEXISTS(SELECT*FROMRRYWHERE=AND=AND=);試敘述SQL語言的關系代數特點和元組演算特點。答:SQL的關系代數特點如下:有關系代數運算的并、交、差、自然聯接等運算符;FROM子句體現了笛卡爾積操作,WHERE子句體現了選擇操作,SELECT子句體現了投影操作。SQL的元組演算特點如下:FROM子句中的基本表名應視為“元組變量”,屬性名應視為“元組分量”;有存在量詞EXISTS符號。試用SQL更新語句表達對題教學數據庫中關系S、SC、C的更新操作:=1\*GB3①往關系C中插一個課程元組('C8','VC++','T6')。=2\*GB3②檢索所授每門課程平均成績均大于80分的教師姓名,并把檢索到的值送往另一個已存在的表FACULTY(TNAME)。=3\*GB3③在SC中刪除尚無成績的選課元組。=4\*GB3④把選修LIU老師課程的女同學選課元組全部刪去。=5\*GB3⑤把MATHS課不及格的成績全改為60分。=6\*GB3⑥把低于所有課程總平均成績的女同學成績提高5%。=7\*GB3⑦在表SC中修改C4課程的成績,若成績小于等于70分時提高5%,若成績大于70 分時提高4%(用兩種方法實現,一種方法是用兩個UPDATE語句實現,另一種方法是用帶CASE操作的一個UPDATE語句實現)。⑧在表SC中,當某個成績低于全部課程的平均成績時,提高5%。解:①INSERTINTOCVALUES('C8','VC++','T6');②INSERTINTOFACULTY(TNAME)SELECTDISTINCTTEACHERFROM(SELECTTEACHER,#,AVG(GRADE)FROMS,SCWHERE#=#GROUPBYTEACHER,#)ASRESULT(TEACHER,C#,AVG_GRADE)ASXWHERE80<=ALL(SELECTAVG_GRADEFROMRESULTASYWHERE=;③DELETEFROMSCWHEREGRADEISNULL;④DELETEFROMSCWHERES#IN(SELECTS#FROMSWHERESEX='F')ANDC#IN(SELECTC#FROMCWHERETEACHER='LIU');⑤UPDATESCSETGRADE=60WHEREGRADE<60ANDC#IN(SELECTC#FROMCWHERECNAME='MATHS');⑥UPDATESCSETGRADE=GRADE*WHERES#IN(SELECTS#FROMSWHERESEX='F')ANDGRADE<(SELECTAVG(GRADE)FROMSC);⑦用兩個UPDATE語句實現:UPDATESCSETGRADE=GRADE*WHEREC#='C4'ANDGRADE>70;UPDATESCSETGRADE=GRADE*WHEREC#='C4'ANDGRADE<=70;(這兩個UPDATE語句的順序不能顛倒。)用一個UPDATE語句實現:UPDATESCSETGRADE=GRADE*CASEWHENGRADE>70THENELSEENDWHEREC#='C4';⑧UPDATESC SETGRADE=GRADE* WHEREGRADE<(SELECTAVG(GRADE) FROMSC);設數據庫中有三個關系: 職工表 EMP(E#,ENAME,AGE,SEX,ECITY),其屬性分別表示職工工號、姓名、年齡、性別和籍貫。工作表 WORKS(E#,C#,SALARY),其屬性分別表示職工工號、工作的公司編號和工資。公司表 COMP(C#,CNAME,CITY),其屬性分別表示公司編號、公司名稱和公司所在城市。試用SQL語句寫出下列操作:①用CREATETABLE語句創建上述三個表,需指出主鍵和外鍵。②檢索超過50歲的男職工的工號和姓名。③假設每個職工只能在一個公司工作,檢索工資超過1000元的男性職工工號和姓名。④假設每個職工可在多個公司工作,檢索在編號為C4和C8公司兼職的職工工號和姓名。⑤檢索在“聯華公司”工作、工資超過1000元的男性職工的工號和姓名。⑥假設每個職工可在多個公司工作,檢索每個職工的兼職公司數目和工資總數.顯示(E#,NUM,SUM_SALARY),分別表示工號、公司數目和工資總數。⑦工號為E6的職工在多個公司工作,試檢索至少在E6職工兼職的所有公司工作的職工工號。⑧檢索聯華公司中低于本公司平均工資的職工工號和姓名。⑨在每一公司中為50歲以上職工加薪100元(若職工為多個公司工作,可重復加)。⑩在EMP表和WORKS表中刪除年齡大于60歲的職工有關元組。解:① CREATETABLEEMP(E# CHAR(4)NOTNULL,ENAME CHAR(8)NOTNULL,AGE SMALLINT,SEX CHAR(1),ECITY CHAR(20),PRIMARYKEY(E#));CREATETABLECOMP(C# CHAR(4)NOTNULL,CNAME CHAR(20)NOTNULL,CITY CHAR(20),PRIMARYKEY(C#)); CREATETABLEWORKS(E# CHAR(4)NOTNULL,C# CHAR(4)NOTNULL,SALARY SMALLINT,PRIMARYKEY(E#,C#),FOREIGNKEY(E#)REFERENCESEMP(E#),FOREIGNKEY(C#)REFERENCESCOMP(C#));② SELECTE#,ENAMEFROMEMPWHEREAGE>50ANDSEX='M';③ SELECT#,ENAMEFROMEMP,WORKSWHERE#=#ANDSALARY>1000;④ SELECT#,FROMEMPA,WORKSB,WORKSCWHERE#=#AND#=#AND#='C4'AND#='C8';⑤ SELECT#,FROMEMPA,WORKSB,COMPCWHERE#=#AND#=#ANDCNAME='聯華公司'ANDSALARY>1000ANDSEX='M';⑥ SELECTE#,COUNT(C#)ASNUM,SUM(SALARY)ASSUM_SALARYFROMWORKSGROUPBYE#;⑦ SELECT#FROMWORKSXWHERENOTEXISTS(SELECT*FROMWORKSYWHEREE#='E6'ANDNOTEXISTS(SELECT*FROMWORKSZWHERE#=#AND#=#));⑧ SELECT#,FROMEMPA,WORKSB,COMPCWHERE#=#AND#=#ANDCN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 資源重組對經濟發展的推動作用試題及答案
- 北京市石景山區2025屆高三一模考試數學試題 含解析
- 2025屆江蘇省南京市、鹽城市高三下學期3月一模政治試題 含解析
- 公司火災撲救應急預案(3篇)
- 計算機考試備考工具試題及答案
- 森林火災應急撲救預案(3篇)
- 2025年國際市場中的戰略風險分析試題及答案
- 開源社區參與與貢獻試題及答案
- 消防火災應急預案是什么(3篇)
- 行政法學考試難點試題及答案揭秘
- 醫院意識形態培訓課件
- 醫院危險品安全管理培訓
- 酒店行業安全事故舉報與獎勵制度
- 食品經營許可證主要設備設施布局圖及操作流程
- 《初中物理教材課后習題編制、使用現狀調查與策略研究》
- 《國際銀團貸款》課件
- 2024-2030年中國工程設計行業發展狀況與未來前景趨勢預測報告
- GB/T 23356-2024卷煙煙氣氣相中一氧化碳的測定非散射紅外法
- 設備講解及使用培訓
- 泥漿泵清淤外運專項施工方案
- 《辛德勒的名單》電影賞析
評論
0/150
提交評論