SQL語句創(chuàng)建學(xué)生信息數(shù)據(jù)庫表的示例-學(xué)生信息數(shù)據(jù)庫表_第1頁
SQL語句創(chuàng)建學(xué)生信息數(shù)據(jù)庫表的示例-學(xué)生信息數(shù)據(jù)庫表_第2頁
SQL語句創(chuàng)建學(xué)生信息數(shù)據(jù)庫表的示例-學(xué)生信息數(shù)據(jù)庫表_第3頁
SQL語句創(chuàng)建學(xué)生信息數(shù)據(jù)庫表的示例-學(xué)生信息數(shù)據(jù)庫表_第4頁
SQL語句創(chuàng)建學(xué)生信息數(shù)據(jù)庫表的示例-學(xué)生信息數(shù)據(jù)庫表_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、用SQL語句創(chuàng)建如下三個基本表:學(xué)生表(Student)、課程表(Course)、學(xué)生選課表(SQ,結(jié)構(gòu)如下所示Student 表結(jié)構(gòu)列名說明數(shù)據(jù)類型約束Sno學(xué)號字符串,長度為 7主碼Sname姓名字符串,長度為 10非空Ssex性別字符串,長度為 2取男或女Sage年齡整數(shù)取值 1545Sdept所在院系字符串,長度為 20默認(rèn)為計算機(jī)系CreatetableStudent(Snovarchar(7)primarykey,Snamevarchar(10)notnull,Ssexchar(2)check(Ssex=男orSsex=女),Sageintcheck(Sagebetween15an

2、d45),Sdeptvarchar(20)default(計算機(jī)系)Course 表結(jié)構(gòu)列名說明數(shù)據(jù)類型約束Cno課程號字符串,長度為 10主碼Cname課程名字符串,長度為 20非空Ccredit學(xué)分整數(shù)取值大于0Semester學(xué)期整數(shù)取值大于 0Period學(xué)時整數(shù)取值大于0Createtablecourse(Cnovarchar(10)primarykey,Cnamevarchar(20)notnull,Ccreditintcheck(Sctedit0),Semesterintcheck(Semester0),Periodintcheck(Period0)SC 表結(jié)構(gòu)列名說明數(shù)據(jù)類型約

3、束Sno學(xué)號字符串,長度為 7主碼,引用 Student 的外碼Cno課程號字符串,長度為 10主碼,引用 Course 的外碼Grade成績整數(shù)取值 0100CreatetableSC(Snovarchar(7)foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno),Gradeintcheck(Gradebetween0and100),Primarykey(Sno,Cno)1. .查詢學(xué)生選課表中的全部數(shù)據(jù)。SELECT*FROMSCgo2. .查詢計算機(jī)系學(xué)生的姓名、年齡。SelectSn

4、ame,SageFromStudentWhereSdept=計算機(jī)系3. .查詢成績在 70708080 分之間的學(xué)生的學(xué)號、課程號和成績。SelectSno,Cno,GradeFromCourse,ScWo=sc.Cnoandsc.Gradebetween70and804. .查詢計算機(jī)系年齡在 18182020 之間且性別為“男”的學(xué)生的姓名和年齡。SelectSname,SageFromStudentWhereSagebetween18and20andSsex=男andSdept=計算機(jī)系go5. .查詢課程號為“C01C01”的課程的最高分?jǐn)?shù)。Selecttop1Gradeselect

5、max(Grade)as 最高分FromScfromScWhereCno=C01whereCno=C01OrderbyGradedescorderbyGradedesc6. .查詢計算機(jī)系學(xué)生的最大年齡和最小年齡。Selectmax(Sage)as 年齡最大,min(Sage)as 年齡最小FromStudentWhereSdept=計算機(jī)系7. .統(tǒng)計每個系的學(xué)生人數(shù)。Selectcount(Sdept)as 學(xué)生人數(shù),SdeptFromStudentGroupbySdept8. .統(tǒng)計每門課程的選課人數(shù)和考試最高分。Selectcount(Sno)as 選課人數(shù),c.Sno,max(Gra

6、de)as 最高分FromCoursecleftjoinSo=s.CnoGroupbyc.Cno9. .統(tǒng)計每個學(xué)生的選課門數(shù)和考試平均成績,并按學(xué)號的升序顯示結(jié)果。Selectsno,avg(grade)as平均成績,count(cno)as選課數(shù)FromscGroupbysnoOrderbysno10. .查詢總成績超過 200200 分的學(xué)生,要求列出學(xué)號、總成績。Selectsno,sum(grade)FromscGroupbysnoHavingsum(grade)20011. .查詢選修了課程“C02C02的學(xué)生的姓名和所在系。Selectsname,sdeptFromstudent

7、s1,scs2Wheres1.sno=o=c0212. .查詢成績在 8080 分以上的學(xué)生的姓名、課程號和成績,并按成績的降序排列結(jié)果。Selects1.sname,o,s2.gradeFromstudents1,scs2Wheres1.sno=s2.snoandgrade80Orderbygradedesc13. .查詢哪些課程沒有人選修、要求列出課程號和課程名。So,ameFo=oGo,ameHavingcount(s.sno)=014. .用子查詢實現(xiàn)如下查詢:(1)(1)查詢選修了課程“C01C01”的學(xué)生的姓名和所在系。Selectsname,sdept,snoFromstuden

8、tWheresnoin(SelectsnoFromscWherecno=c01)(2)(2)查詢信息系成績在 8080 分以上的學(xué)生的學(xué)號、姓名Selectsno,snameFromstudentWheresdept=外語系andsnoin(SelectsnoFromscWheregrade80)(3)(3)查詢計算機(jī)系考試成績最高的學(xué)生的姓名。Selects1.snamefromstudentsWheresdept=計算機(jī)系andsnoin(selectsnofromscWheregradein(selectmax(Grade)fromsc)15. .刪除選課成績小于 5050 分的學(xué)生的選

9、課記錄。DeletefromscWheregrade70Select*fromsc驗證16.將所有選修了課程“C01C01”的學(xué)生的成績加 1010 分:UpdatescSetgrade=grade+10Wherecno=c0117.將計算機(jī)系所有選修了課程“計算機(jī)文化基礎(chǔ)”課程的學(xué)生的成績加 1010 分。Select*fromscUpdatescSetgrade=grade+10Wherecnoin(selectcnofromcourseWherecname=計算機(jī)文化基礎(chǔ))18. .創(chuàng)建查詢學(xué)生的學(xué)號、姓名、所在系、課程號、課程名、課程學(xué)分的視圖。Select*fromcourseSel

10、ect*fromstudentsSelect*fromscCreateview 學(xué)生基本信息AsSelectstudents.sno,sname,sdept,o,cname,ccreditFromcourse,sc,studentsWo=oAo=students.sno19. .創(chuàng)建查詢每個學(xué)生的平均成績的視圖,要求列出學(xué)生學(xué)號及平均成績。Createviews_avgAsSelectsno,avg(Grade)as 平均成績 fromscGroupbysno20. .創(chuàng)建查詢每個學(xué)生的選課學(xué)分的視圖,要求列出學(xué)生學(xué)號及總學(xué)分。CreateviewsscAsSelectstudents.sno

11、,sum(ccredit)as總學(xué)分 fromStudents,sc,courseWherestudents.sno=sc.snoAo=oGroupbystudents.sno21 .用SQL語句創(chuàng)建一個名為f_1的函數(shù),該函數(shù)能夠求生3到100之間的所有素數(shù)之和。Createfunctionf_1()ReturnsintAsBeginDeclareaint,bint,iint,sumintSeti=3Setsum=0Whilei101BeginSetb=0Whileax2ReturnmaxEndSelectdbo.f_2(2,6)23 .用SQL語句創(chuàng)建一個名為pro_get_stu_information的存儲過程,該存儲過程能夠根據(jù)用戶指定的Sno(學(xué)號)求由與該學(xué)號對應(yīng)的學(xué)生姓名、課程名、成績。Createprocedurepro_get_stu_informationmchar(6)outputAsSelectsname,cname,gradefromstudents,sc,courseWherestudents.sno=o=oandsc.sno=mExecpro_get_stu_information060300224 .為“學(xué)生”表創(chuàng)建一個依賴于“學(xué)號”的

溫馨提示

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

最新文檔

評論

0/150

提交評論