2023年數(shù)據(jù)庫實驗報告14_第1頁
2023年數(shù)據(jù)庫實驗報告14_第2頁
2023年數(shù)據(jù)庫實驗報告14_第3頁
2023年數(shù)據(jù)庫實驗報告14_第4頁
2023年數(shù)據(jù)庫實驗報告14_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗內(nèi)容與規(guī)定請有選擇地實踐以下各題。(1)基于“教學(xué)管理”數(shù)據(jù)庫jxgl,使用SQL的查詢語句表達下列查詢:①檢索年齡大于23歲的男學(xué)生的學(xué)號和姓名;SELECTSno,SnameFROMStudentWHERESsex=’男’ANDSage>23;②檢索至少選修一門課程的女生姓名;SELECTSnameFROMStudentWHERESsex=’女’ANDSnoIN(?SELECTSnoFROMSCGROUPBYSnoHAVINGcount(*)>=1;);③檢索王同學(xué)不學(xué)的課程的課程號;SELECTCno;FROMCourseWHERECnoNOTIN( SELECTCnoFROMStudent,SCWHERESnamelike’王%’ANDStudent.Sno=SC.Sno);④檢索至少選修兩門課程的學(xué)生學(xué)號;SELECTDISTINCTSnoFROMSCGROUPBYSnoHAVINGcount(*)>=2;⑤檢索所有學(xué)生都選修的課程的課程號與課程名;SELECTCno,CnameFROMCourseWHERENOTEXISTS(?SELECT*FROMStudentWHERENOTEXISTS( SELECT*FROMSCWHERESC.Sno=Student.SnoANDSC.Cno=Course.Cno));⑥檢索選修了所有3學(xué)分課程的學(xué)生學(xué)號;SELECTDISTINCTSnoFROMSCXWHERENOTEXISTS(?SELECT*FROMCourseWHERECcredit=3ANDNOTEXISTS( SELECT*FROMSCYWHEREX.Sno=Y.SnoANDCourse.Cno=Y(jié).Cno));基于“教學(xué)管理”數(shù)據(jù)庫jxgl,使用SQL的查詢語句表達下列查詢:①記錄有學(xué)生選修的課程門數(shù);?SELECTcount(DISTINCTCno)FROMSC;②求選修4號課程的學(xué)生的平均年齡;?SELECTAVG(Sage)FROMStudent,SCWHERECno=4ANDStudent.Sno=SC.Sno;③求學(xué)分為3的每門課程的學(xué)生平均成績;SELECTAVG(Grade)FROMCourse,SCWHERECcredit=3ANDCourse.Cno=SC.CnoGROUPBYSC.Cno;④記錄每門課程的學(xué)生選修人數(shù),規(guī)定超過3人的課程才記錄,規(guī)定輸出課程號和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列;SELECTCno,count(Sno)FROMSCGROUPBYCnoHAVINGcount(Sno)>3ORDERBYcount(Sno)DESC,CnoASC;⑤檢索學(xué)號比“王菲”同學(xué)大而年齡比他小的學(xué)生姓名;SELECTSnameFROMStudentXWHERESno>(?SELECTSnoFROMStudentYWHERESname=’王菲’ANDSage>(?SELECTSageFROMStudentZWHERESname=’王菲’ANDX.Sno=Z.SnoANDY.Sno=Z.Sno));⑥檢索姓名以“王”打頭的所有學(xué)生的姓名和年齡;SELECTSname,SageFROMStudentWHERESnameLIKE‘王%’;⑦在SC中檢索成績?yōu)榭罩玫膶W(xué)生學(xué)號和課程號;SELECTSno,CnoFROMSCWHEREGradeisNULL;⑧求年齡大于女同學(xué)平均年齡的男學(xué)生姓名和年齡;SELECTSname,SageFROMStudentXWHERESsex=’男’ANDSage>( SELECTAVG(Sage)FROMStudentWHERESsex=’女’ANDX.Sno=Y.Sno);⑨求年齡大于所有女同學(xué)年齡的男同學(xué)姓名和年齡;SELECTSname,SageFROMStudentXWHERESsex=’男’ANDSage>( SELECTMAX(Sage)FROMStudentYWHERESsex=’女’ANDX.Sno=Y.Sno);⑩檢索所有比“王華”年齡大的學(xué)生姓名,年齡和性別;SELECTSname,Sage,SsexFROMStudentXWHERESage>(?SELECTSageFROMStudentYWHERESname=’王華’ANDX.Sno=Y.Sno);①檢索選修“2”課程的學(xué)生中成績最高的學(xué)生和學(xué)號;SELECTSname,SC.SnoFROMStudent,SCWHERECno=2ANDStudent.Sno=SC.Sno;②檢索學(xué)生姓名和其所選修課程的課程號和成績;SELECTSname,Cno,GradeFROMStudent,SCWHEREStudent.Sno=SC.SnoGROUPBYSname;③檢索選修4門以上課程的學(xué)生總成績(不記錄不及格的課程),并規(guī)定按總成績的降序排列出來;SELECTSno,SUM(Grade)FROMSCXWHEREGrade>=60ANDSnoIN( SELECTSnoFROMSCYWHEREX.Sno=Y.SnoGROUPBYSnoHAVINGcount(Cno)>4)` ORDERBYSUM(Grade)DESC;設(shè)有表4-1~表4-4的4個基本表(表結(jié)構(gòu)于表內(nèi)容是假設(shè)的),請先創(chuàng)建數(shù)據(jù)庫及根據(jù)表內(nèi)容創(chuàng)建表結(jié)構(gòu),并添加表記錄,寫出實現(xiàn)以下各題功能的SQL語句:創(chuàng)建以下4各表:CREATETABLESTUDENT(SNOCHAR(6)PRIMARYKEY,SNAMECHAR(20)UNIQUE,SEXCHAR(2),AGESMALLINT,CLASSCHAR(4));CREATETABLETEACHER(TNOCHAR(3)PRIMARYKET,TNAMWCHAR(20)UNIQUE,SEXCHAR(2),AGESMALLINT,PROFCHAR(10),DEPTCHAR(10));CREATETABLECOURSE(CNOCHAR(4)PRIMARYKEY,CNAMECHAR(20)UNIQUE,TNOCHAT(3),F(xiàn)OREIGNKEYTNOREFERENCESTEACHER(TNO));CREATETABLESC(SNOCHAR(6),CNOCHAR(4),GRADESMALLINT,PRIMARYKEY(SNO,CNO),FOREIGNKEYSNOREFERENCESSTUDENT(SNO),F(xiàn)OREIGNKEYCNOREFERENCESCOURSE(CNO));插入數(shù)據(jù):INSERTINTOSTUDENTVALUES(‘980101’,’李華’,‘男’,19,’9801’);......同上方法依次插入數(shù)據(jù)①查詢選修課程“8105”且成績在80到90之間的所有記錄;SELECT*FROMSCWHERECNO=’8105’ANDGRADEBETWEEN80AND90;②查詢成績?yōu)?9,89或99的記錄;SELECT*FROMSCWHEREGRADEIN(79,89,99);③查詢“9803”班的學(xué)生人數(shù);SELECTcount(SNO)FROMSTUDENTWHERESNOLIKE‘9803%’;④查詢至少有20名學(xué)生選修的并且課程號以8開頭的課程及平均成績;SELECTCNO,AVG(GRADE)FROMSCWHERECNOLIKE‘8%’GROUPBYCNO;HAVINGcount(SNO)>=20;⑤查詢最低分大于80,最高分小于95的SNO與平均分;SELECTSNO,AVG(GRADE)FROMSCGROUPBYSNOHAVINGMIN(GRADE)>80ANDMAX(GRADE)<95;⑥查詢“9803”班的學(xué)生所選各課程的課程號及平均成績;SELECTCNO,AVG(GRADE)FROMSCWHERESNOLIKE‘9803’GROUPBYCNO;⑦查詢選修“8105”課程的成績高于“980302”號同學(xué)成績的所有同學(xué)的記錄;SELECT*FROMSCXWHERECNO=’8105’ANDGRATE>(SELECTGRATEFROMSCYWHERECNO=’8105’ANDSNO=’980302’ANDX.SNO=Y.SNO);⑧查詢與學(xué)號為“980103”的同學(xué)同歲的所有學(xué)生的SNO,SNAME和AGE;SELECTSNO,SNAME,AGEFROMSTUDENTXWHEREAGE=(SELECTAGEFROMSTUDENTYWHERESNO=’980103’ANDX.SNO=Y.SNO);⑨查詢“錢軍”教師任課的課程號,以及選修其課程學(xué)生的學(xué)號和成績;SELECTSC.CNO,SNO,GRADEFROMSC,TEACHRT,COURSEWHERETNAME=’錢軍’ANDTEACHER.TNO=COURSE.TNOANDSC.CON=COURSE.CON;⑩查詢選修某課程的學(xué)生人數(shù)多于20人的教師姓名;SELECTDISTINCTTNAMEFROMTEACHER,SC,COURSEWHERETEACHER.TNO=COURSE.TNOANDSC.CON=COURSE.CONGROUPBYSC.CNOHAVINGcount(SNO)>20;11查詢選修編號為“8105”課程且成績至少高于其選修編號為“8245”課程成績的同學(xué)的SNO及“8105”課程成績,并按成績從高到低依次排列;SELECTSNOGRADEFROMSCXWHERECNO=’8105’ANDGRADE>(SELECTGRADEFROMSCYWHERECNO=’8245’ANDX.SNO=Y.SNO)ORDERBYGRADEDESC;12查詢選修編號為“8105”課程且成績高于所有選修編號為“8245”課程成績的同學(xué)的CNO、SNO、GRADE;SELECTCNO,SNO,GRADEFROMSCWHERECNO=’8105’ANDGRADE>(SELECTMAX(GRADE)FROMSCWHERECNO=’8245’ANDX.CNO=Y.SNO);13列出所有教師和同學(xué)的姓名,SEX,AGE;SELECTTNAME,TEACHER.SEX,TEACHER.AGE,SNAME,STUDENT.SEX,STUDENT.AGEFROMTEACHER,SC14查詢成績比該課程平均成績高的學(xué)生的成績表;SELECT*FROMSC.XGROUPBYSNOHAVINGGRADE>( SELECTAVG(GRADE)FROMSC.YWHEREX.CNO=Y.CNOGROUPBYCNO);15列出所有任課教師的TNAME和DEPT;SELECTTNAME,DEPTFROMTEACHER,COURSEWHERETEACHER.TNO=COURSE.TNO16列出所有未講課教師的TNAME和DEPT;SELECTTNAME,DEPYFROMTEACHERWHERENOTEXISTS(SELECT*FROMCOURSEWHERETEACHER.TNO=COURSE.TNO);17列出至少有4名男生的班號;SELECTCLASSFROMSTUDENTGROUPBYCLASSHAVINGcount(SNO)>=4;18查詢不姓“張”的學(xué)生記錄;SELECT*FROMSTUDENTWHERESNAMENOTLIKE‘張%’;19查詢每門課最高分的學(xué)生的SNO,CNO,GRADE;SELECTSNO,CNO,GRADEFROMSCGROUPBYCNOHAVINGGRADE=MAX(GRADE);20查詢與“李華”同性并同班的同學(xué)SNAME;SELECTSNAMEFROMSTUDENTXWHERECLASS=(SELECTCLASSFROMSTUDENTYWHERESNAME=’李華’ANDSEX=(SELSCTSEXFROMSTUDENTZWHERESNAME=’李華’ANDX.SNO=Y.SNOANDY.SNO=Z.SNO));21查詢“女”教師及其所上的課程;SELECTTNAME,CNO,CNAMEFROMTEACHER,COURSEWHERETEACHER.TNO=COURSE.TNO,SEX=’女’;22查詢選修“數(shù)據(jù)庫系統(tǒng)”課程的“男”同學(xué)的成績表;SELECT*FROMSC,COURSE,STUDENTWHERESTUDENT.SNO=SC.SNOANDC

溫馨提示

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

評論

0/150

提交評論