SQL語句創建學生信息數據庫表的示例-學生信息數據庫表_第1頁
SQL語句創建學生信息數據庫表的示例-學生信息數據庫表_第2頁
SQL語句創建學生信息數據庫表的示例-學生信息數據庫表_第3頁
SQL語句創建學生信息數據庫表的示例-學生信息數據庫表_第4頁
SQL語句創建學生信息數據庫表的示例-學生信息數據庫表_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、用SQL語句創建如下三個根本表:學生表(Student).課程表(Course).學生選課表(SQ,構造如下所示Student表構造列名解釋數據類型束縛Sno學號字符串,長度為7主碼Sname姓名字符串,長度為10非空Ssex性別字符串,長度為2取男'或女Sage年紀整數取值1545Sdept地點院系字符串,長度為20默以為盤算機系CreatetableStudent(Snovarchar(7)primarykey,Snamevarchar(10)notnull,Ssexchar(2)check(Ssex='男'orSsex='女'),Sageintch

2、eck(Sagebetween15and45),Sdeptvarchar(20)default('盤算機系')Course表構造列名解釋數據類型束縛Cno課程號字符串,長度為10主碼Cname課程名字符串,長度為20非空Ccredit學分整數取值大于0Semester學期整數取值大于0Period學時整數取值大于0Createtablecourse(Cnovarchar(10)primarykey,Cnamevarchar(20)notnull,Ccreditintcheck(Sctedit>0),Semesterintcheck(Semester>0),Perio

3、dintcheck(Period>0)SC表構造列名解釋數據類型束縛Sno學號字符串,長度為7主碼,引用Student的外碼Cno課程號字符串,長度為10主碼,弓1用Course的外碼Grade成績整數取值0100CreatetableSC(Snovarchar(7)foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno),Gradeintcheck(Gradebetween0and100),Primarykey(Sno,Cno)1 .查詢學生選課表中的全體數據SELECT*FROMSCg

4、o2 .查詢盤算機系學生的姓名.年紀.SelectSname,SageFromStudentWhereSdept='盤算機系'3 .查詢成績在7080分之間的學生的學號.課程號和成績.SelectSno,Cno,GradeFromCourse,ScWo=sc.Cnoandsc.Gradebetween70and804 .查詢盤算機系年紀在1820之間且性別為“男”的學生的姓名和年紀.SelectSname,SageFromStudentWhereSagebetween18and20andSsex='男'andSdept='盤算機系go5 .查詢課程號為“

5、C01'的課程的最高分數最高分Selecttop1Gradeselectmax(Grade)asFromScfromScWhereCnoC01'whereCno='C01'OrderbyGradedescorderbyGradedesc6 .查詢盤算機系學生的最大年紀和最小年紀.Selectmax(Sage)as年紀最大,min(Sage)as年紀最小FromStudentWhereSdept='盤算機系'7 .統計每個系的學生人數.Selectcount(Sdept)as學生人數,SdeptFromStudentGroupbySdept8 .統

6、計每門課程的選課人數和測驗最高分.Selectcount(Sno)as選課人數,c.Sno,max(Grade)as最高分9 .統計每個學生的選課門數和測驗平均成績,并按學號的升序顯示成果.Selectsno,avg(grade)as'平均成績',count(cno)as'選課門數FromscGroupbysnoOrderbysno10 .查詢總成績超出200分的學生,請求列出學號.總成績.Selectsno,sum(grade)FromscGroupbysnoHavingsum(grade)>20011 .查詢選修了課程“C02'的學生的姓名和地點系.S

7、electsname,sdeptFromstudents1,scs2Wheres1.sno=o='c02'12 .查詢成績在80分以上的學生的姓名.課程號和成績,并按成績的降序分列成果.Fromstudents1,scs2Wheres1.sno=s2.snoandgrade>80Orderbygradedesc13 .查詢哪些課程沒有人選修.請求列出課程號和課程名.Go,ameHavingcount(s.sno)=014 .用子查詢實現如下查詢:(1) 查詢選修了課程“C01'的學生的姓名和地點系.Selectsname,sdept,snoFromstudentW

8、heresnoin(SelectsnoFromscWherecno='c01')(2) 查詢信息系成績在80分以上的學生的學號.姓名.Selectsno,snameFromstudentWheresdept='外語系'andsnoin(SelectsnoFromscWheregrade>80)(3) 查詢盤算機系測驗成績最高的學生的姓名.Selects1.snamefromstudentsWheresdept='盤算機系'andsnoin(selectsnofromscWheregradein(selectmax(Grade)fromsc)

9、15 .刪除選課成績小于50分的學生的選課記載DeletefromscWheregrade<70Select*fromsc驗證10分:課程的學生16 .將所有選修了課程“C01'的學生的成績加UpdatescSetgrade=grade+10Wherecno='c01'17 .將盤算機系所有選修了課程“盤算機文化基本”的成績加10分.Select*fromscUpdatescSetgrade=grade+10Wherecnoin(selectcnofromcourseWherecname=盤算機文化基本')18 .創建查詢學生的學號.姓名.地點系.課程號.

10、課程名.課程學分的視圖.Select*fromcourseSelect*fromstudentsSelect*fromscCreateview學生根本信息AsSelectstudents.sno,sname,sdept,o,cname,ccreditFromcourse,sc,students19 .創建查詢每個學生的平均成績的視圖,請求列出學生學號及平均成績.Createviews_avgAsSelectsno,avg(Grade)as平均成績fromscGroupbysno20 .創建查詢每個學生的選課學分的視圖,請求列出學生學號及總學分.Createviews_scAsSelectstu

11、dents.sno,sum(ccredit)as總學分fromStudents,sc,course21 .用SQL語句創建一個名為f_1的函數,該函數可以或許求出3到100之間的所有素數之和.Createfunctionf_1()ReturnsintAsBeginDeclareaint,bint,iint,sumintSeti=3Setsum=0Whilei<101BeginSetb=0Whilea<=i/2BeginIfi%a=0BeginSetb=1BreakEndSeta=a+1EndIfb=0b為0解釋之前沒有比“卜的數字可以把i整除BeginSetsum=sum+iEnd

12、Seti=i+1EndReturnsumEndGoSelectdbo.f_1()22 .用SQL語句創建一個名為f_2的函數,該函數可以或許求出隨意率性兩個數的最大值.Createfunctionf_2(x1int,x2int)returnsintAsBeginDeclaremaxintIfx1>x2ReturnmaxEndSelectdbo.f_2(2,6)23 .用SQL語句創建一個名為pro_get_stu_information的存儲進程,該存儲進程可以或許依據用戶指定的Sno(學號)求出與該學號對應的學生姓名.課程名.成績.Createprocedurepro_get_stu_informationmchar(6)outputAsSelectsname,cname,gradefromstudents,sc,courseWherestudents.sno=o=oandsc.sno=mExecpro_get_stu_information'0603002'24.為“學生”表創建

溫馨提示

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

評論

0/150

提交評論