版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、用SQL語句創(chuàng)建如下三個基本表:學生表 (Student)、課程表(Course)、學生選課表 (SC),結構如下所示Student表結構列名說明數(shù)據(jù)類型約束Sno學號字符串,長度為7主碼Sname姓名字符串,長度為10非空Ssex性別字符串,長度為2取'男'或'女Sage年齡整數(shù)取值1545Sdep t所在院系字符串,長度為20默認為,計算機系,Create table StudentSno varchar (7) primary key,Sname varchar(10) not null,Ssex char (2) check(Ssex='男or Ssex
2、=,女'),1 / 13Sage int check(Sage between 15 and 45),Sdept varchar (20) default ('計算機系')Course表結構列名說明數(shù)據(jù)類型約束Cno課程號字符串,長度為10主碼Cname課程名字符串,長度為20非空Ccredit學分整數(shù)取值大于0Semester學期整數(shù)取值大于0Period學時整數(shù)取值大于0Create table course(Cno varchar (10) primary key,Cname varchar (20) not null,Ccredit int check(Scte
3、dit>0),Semester int check(Semester>0),Period int check(Period>0)SC表結構列名說明數(shù)據(jù)類型約束Sno學號字符串,長度為7主碼,引用Student的外碼Cno課程號字符串,長度為10主碼,引用Course的外碼Grade成績整數(shù)取值0100Create table SC(Sno varchar(7) foreign key references student(Sno),Cno varchar(10) foreign key references course(Cno),Grade int check(Grade
4、between 0 and 100),Primary key (Sno,Cno)1. 查詢學生選課表中的全部數(shù)據(jù)。SELECT *FROM SCgo2. 查詢計算機系學生的姓名、年齡。Select Sname, SageFrom StudentWhere Sdept二'計算機系3. 查詢成績在7080分之間的學生的學號、課程號和成績。Select Sno, Cno, GradeFrom Course, ScWhere course, eno二sc Cno and sc.Grade between 70 and 804. 查詢計算機系年齡在1820之間且性別為“男”的學生的姓名和年齡。S
5、elect Sname, SageFrom StudentWhere Sage between 18 and 20 and Ssex=, 男'and Sdept二' 計 算機系'go5. 查詢課程號為“C01”的課程的最高分數(shù)。Select top 1 Gradeselect max(Grade) as 最iH分from ScWhere Cno二'C01where Cno二'C01Order by Grade descorder by Grade desc6. 查詢計算機系學生的最大年齡和最小年齡。Select max (Sage) as 年齡最大,mi
6、n (Sage) as 年齡最小From StudentWhere Sdept二'計算機系'7. 統(tǒng)計每個系的學生人數(shù)。Select count (Sdept) as 學生人數(shù),SdeptFrom StudentGroup by Sdept8. 統(tǒng)計每門課程的選課人數(shù)和考試最高分。Select count (Sno) as 選 課人數(shù),c. Sno, max (Grade) as 最高分From Course c left join Sc s on c. eno二s CnoGroup by c. Cno9. 統(tǒng)計每個學生的選課門數(shù)和考試平均成績,并按學號的升序顯示 結果。Sel
7、ect sno, avg (grade) as '平均成績',count (cno) as '選課門數(shù)Group by snoOrder by sno10. 查詢總成績超過200分的學生,要求列出學號、總成績。Select sno, sum(grade)From scGroup by snoHaving sum(grade)>20011. 查詢選修了課程“C02”的學生的姓名和所在系。Select sname, sdeptFrom student si,sc s2Where slsno=s2 sno and s2eno二'c0212. 查詢成績在80分以上
8、的學生的姓名、課程號和成績,并按成績 的降序排列結果。Select sl sname, s2 eno, s2 gradeFrom student si,sc s2Where sl sno=s2 sno and grade >80Order by grade desc13. 查詢哪些課程沒有人選修、要求列出課程號和課程名。Select c. eno, c. cnameFrom course c left join sc s on c. eno二s enoGroup by c.eno,c. cnameHaving count(s.sno)=014. 用子查詢實現(xiàn)如下查詢:(1) 查詢選修了課
9、程“C01”的學生的姓名和所在系。Select sname, sdept , snoFrom studentWhere sno in (Select snoFrom scWhere eno二'c01)(2) 查詢信息系成績在80分以上的學生的學號、姓名。Select sno, snameFrom studentWhere sdept='夕卜語系'and sno in (Select snoWhere grade>80)(3) 查詢計算機系考試成績最高的學生的姓名。Select sl sname from studentsWhere sdept=,計算機系'
10、and sno in(select sno from scWhere grade in(select max(Grade)from sc)15. 刪除選課成績小于50分的學生的選課記錄。Delete from scWhere grade<70Select* from sc一驗證16. 將所有選修了課程“C01”的學生的成績加10分:Update scSet grade=grade+10Where eno二'c0117. 將計算機系所有選修了課程“計算機文化基礎”課程的學生的 成績加10分。Update scSet grade=grade+10Where eno in(select
11、 eno from courseWhere cname='計算機文化基礎')18. 創(chuàng)建查詢學生的學號、姓名、所在系、課程號、課程名、課程學分的視圖。Select* from courseSelect* from studentsSelect* from scCreate view學生基本信息AsSelect students sno, sname, sdept, sc. eno, cname, ccreditFrom course, sc, studentsWhere course, eno二sc enoAnd sc. cno=students sno19. 創(chuàng)建查詢每個學生
12、的平均成績的視圖,要求列岀學生學號及平 均成績。Create view s_avgAsSelect sno, avg (Grade) as 平均成績 from scGroup by sno20. 創(chuàng)建查詢每個學生的選課學分的視圖,要求列岀學生學號及總學分。Create view s_scAsSelect students sno, sum(cctedit)as 總學分 fromStudents, sc, courseWhere students. sno=sc snoAnd sc. cno=course enoGroup by students sno21. 用SQL語句創(chuàng)建一個名為f_l的函
13、數(shù),該函數(shù)能夠求出3到100之間的所有素數(shù)之和。Create function f_l ()Returns intAsBeginDeclare a int,b int,i int, ©sum intSet i=3Set sum二0Wh訂e i<101BeginSet b=0While a<=i/2BeginIf i%a=OBeginSet b=lBreakEndSet a=a+lEndIf b=0 b為0說明之前沒有比虹小的數(shù)字可以把匚整除BeginSet sum=sum+iEndEndReturn sumEndGoSelect dbo. f_l ()22. 用SQL語句
14、創(chuàng)建一個名為f_2的函數(shù),該函數(shù)能夠求出任意兩 個數(shù)的最大值。Create function f_2 (xl int, x2 int比七吐皿 intAsBeginDeclare max intIf xl>x2Return maxEndSelect dbo. f_2 (2, 6)23. 用SQL語句創(chuàng)建一個名為pro_get_stu_information的存儲過 程,該存儲過程能夠根據(jù)用戶指定的Sno(學號)求岀與該學號對 應的學生姓名、課程名、成績。Create procedure pro_get_stu_information m char (6) outputAsSelect sname, cname, grade from students,sc,courseWhere students. sno=sc sno andsc. eno二course, enoandsc. sno二mExec pro_get_stu_information''
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年幼兒教育行業(yè)市場全景評估及投資方向研究報告
- 2025年河南開封市企業(yè)全景分析報告
- 課程設計封面排版模板圖
- 項目管理方案課程設計
- 眼袋修復課程設計
- 網(wǎng)絡營銷實務課程設計
- 2025年度新能源汽車融資租賃車輛質押擔保合同3篇
- 二零二五年度水泥沙石行業(yè)產業(yè)鏈整合采購合同
- 2025年度房屋買賣合同催告函案例分析4篇
- 2025年度危險品運輸合同樣本4篇
- 英語名著閱讀老人與海教學課件(the-old-man-and-the-sea-)
- 學校食品安全知識培訓課件
- 全國醫(yī)學博士英語統(tǒng)一考試詞匯表(10000詞全) - 打印版
- 最新《會計職業(yè)道德》課件
- DB64∕T 1776-2021 水土保持生態(tài)監(jiān)測站點建設與監(jiān)測技術規(guī)范
- ?中醫(yī)院醫(yī)院等級復評實施方案
- 數(shù)學-九宮數(shù)獨100題(附答案)
- 理正深基坑之鋼板樁受力計算
- 學校年級組管理經驗
- 10KV高壓環(huán)網(wǎng)柜(交接)試驗
- 未來水電工程建設抽水蓄能電站BIM項目解決方案
評論
0/150
提交評論