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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

/用SQL語句創(chuàng)建如下三個基本表:學生表(Student)、課程表(Course)、學生選課表(SC),結構如下所示Student表結構列名說明數(shù)據(jù)類型約束Sno學號字符串,長度為7主碼Sname姓名字符串,長度為10非空Ssex性別字符串,長度為2取‘男’或‘女’Sage年齡整數(shù)取值15~45Sdept所在院系字符串,長度為20默認為‘計算機系’Createtable Student( Snovarchar(7)primarykey, Snamevarchar(10)notnull, Ssexchar(2)check(Ssex=‘男’orSsex=’女’), Sageintcheck(Sagebetween15and45), Sdeptvarchar(20)default(‘計算機系’))Course表結構列名說明數(shù)據(jù)類型約束Cno課程號字符串,長度為10主碼Cname課程名字符串,長度為20非空Ccredit學分整數(shù)取值大于0Semester學期整數(shù)取值大于0Period學時整數(shù)取值大于0Createtablecourse( Cnovarchar(10)primarykey, Cnamevarchar(20)notnull, Ccreditintcheck(Sctedit>0), Semesterintcheck(Semester>0), Periodintcheck(Period>0))SC表結構列名說明數(shù)據(jù)類型約束Sno學號字符串,長度為7主碼,引用Student的外碼Cno課程號字符串,長度為10主碼,引用Course的外碼Grade成績整數(shù)取值0~100CreatetableSC( Snovarchar(7)foreignkeyreferencesstudent(Sno), Cnovarchar(10)foreignkeyreferencescourse(Cno), Gradeintcheck(Gradebetween0and100), Primarykey(Sno,Cno))1.查詢學生選課表中的全部數(shù)據(jù)。SELECT*FROMSCgo2.查詢計算機系學生的姓名、年齡。SelectSname,SageFromStudentWhereSdept=’計算機系’3.查詢成績在70~80分之間的學生的學號、課程號和成績。SelectSno,Cno,GradeFromCourse,ScWhereo=sc.Cnoandsc.Gradebetween70and804.查詢計算機系年齡在18~20之間且性別為“男”的學生的姓名和年齡。SelectSname,SageFromStudentWhereSagebetween18and20andSsex=’男’andSdept=’計算機系’go5.查詢課程號為“C01”Selecttop1Gradeselectmax(Grade)as最高分FromScfromScWhereCno=’C01’whereCno=’COrderbyGradedescorderbyGradedesc6.查詢計算機系學生的最大年齡和最小年齡。Selectmax(Sage)as年齡最大,min(Sage)as年齡最小FromStudentWhereSdept=’計算機系’7.統(tǒng)計每個系的學生人數(shù)。Selectcount(Sdept)as學生人數(shù),SdeptFromStudentGroupbySdept8.統(tǒng)計每門課程的選課人數(shù)和考試最高分。Selectcount(Sno)as選課人數(shù),c.Sno,max(Grade)as最高分FromCoursecleftjoinScsono=s.CnoGroupbyc.Cno9.統(tǒng)計每個學生的選課門數(shù)和考試平均成績,并按學號的升序顯示結果。Selectsno,avg(grade)as’平均成績’,count(cno)as’選課門數(shù)’FromscGroupbysnoOrderbysno10.查詢總成績超過200分的學生,要求列出學號、總成績。Selectsno,sum(grade)FromscGroupbysnoHavingsum(grade)>20011.查詢選修了課程“C02”Selectsname,sdeptFromstudents1,scs2Wheres1.sno=s2.snoando=’c0212.查詢成績在80分以上的學生的姓名、課程號和成績,并按成績的降序排列結果。Selects1.sname,o,s2.gradeFromstudents1,scs2Wheres1.sno=s2.snoandgrade>80Orderbygradedesc13.查詢哪些課程沒有人選修、要求列出課程號和課程名。Selecto,ameFromcoursecleftjoinscsono=oGroupbyo,ameHavingcount(s.sno)=014.用子查詢實現(xiàn)如下查詢:(1)查詢選修了課程“C01”Selectsname,sdept,snoFromstudentWheresnoin( Selectsno Fromsc Wherecno=’c01)(2)查詢信息系成績在80分以上的學生的學號、姓名。Selectsno,snameFromstudentWheresdept=’外語系’andsnoin( Selectsno Fromsc Wheregrade>80)(3)查詢計算機系考試成績最高的學生的姓名。Selects1.snamefromstudentsWheresdept=’計算機系’andsnoin(selectsnofromscWheregradein(selectmax(Grade)fromsc))15.刪除選課成績小于50分的學生的選課記錄。DeletefromscWheregrade<70Select*fromsc—驗證16.將所有選修了課程“C01”UpdatescSetgrade=grade+10Wherecno=’c0117.將計算機系所有選修了課程“計算機文化基礎”課程的學生的成績加10分。Select*fromscUpdatescSetgrade=grade+10Wherecnoin(selectcnofromcourseWherecname=’計算機文化基礎’)18.創(chuàng)建查詢學生的學號、姓名、所在系、課程號、課程名、課程學分的視圖。Select*fromcourseSelect*fromstudentsSelect*fromscCreateview學生基本信息AsSelectstudents.sno,sname,sdept,o,cname,ccreditFromcourse,sc,studentsWhereo=oAndo=students.sno19.創(chuàng)建查詢每個學生的平均成績的視圖,要求列出學生學號與平均成績。Createviews_avgAsSelectsno,avg(Grade)as平均成績fromscGroupbysno20.創(chuàng)建查詢每個學生的選課學分的視圖,要求列出學生學號與總學分。Createviews_scAsSelectstudents.sno,sum(ccredit)as總學分fromStudents,sc,courseWherestudents.sno=sc.snoAndo=oGroupbystudents.sno21.用SQL語句創(chuàng)建一個名為f_1的函數(shù),該函數(shù)能夠求出3到100之間的所有素數(shù)之和。Createfunctionf_1()ReturnsintAsBeginDeclare@aint,@bint,@iint,@sumintSet@i=3Set@sum=0While@i<101BeginSet@b=0While@a<=@i/2BeginIf@i%@a=0BeginSet@b=1BreakEndSet@a=@a+1EndIf@b=0--@b為0說明之前沒有比@i小的數(shù)字可以把@i整除BeginSet@sum=@sum+@iEndSet@i=@i+1EndReturn@sumEndGoSelectdbo.f_1()22.用SQL語句創(chuàng)建一個名為f_2的函數(shù),該函數(shù)能夠求出任意兩個數(shù)的最大值。Createfunctionf_2(@x1int,@x2int)returnsintAsBeginDeclare@maxintIf@x1>@x2Return@maxEndSelectdbo.f_2(2,6)23.用SQL語句創(chuàng)建一個名為pro_get_stu_information的存儲過程,該存儲過程能夠根據(jù)用戶指定的Sno(學號)求出與該學號對應的學生姓名、課程名、成績。Createprocedurepro_get_stu_information@mchar(6)outputAsSelectsname,cname,gradefromstudents,sc,courseWherestudents.sno=sc.snoando=oandsc.sno=@mExecpro_get_stu_information’’24.為“

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論