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

下載本文檔

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

文檔簡介

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

2、Ssex= 男' orSsex= '女' ),Sageintcheck(Sagebetween15and45),Sdeptvarchar(20)default( 計算機系' )Course 表結(jié)構(gòu)列名說明數(shù)據(jù)類型約束Cno課程號字符串,長度為 10 主碼Cname課程名字符串,長度為 20 非空Ccredit 學分整數(shù)取值大于 0Semester 學期整數(shù)取值大于 0Period 學時整數(shù)取值大于 0Createtablecourse(Cnovarchar(10)primarykey, Cnamevarchar(20)notnull, Ccreditintche

3、ck(Sctedit>0), Semesterintcheck(Semester>0), Periodintcheck(Period>0)SC表結(jié)構(gòu)列名說明數(shù)據(jù)類型約束Sno 學號字符串,長度為7 主碼,引用 Student的外碼Cno課程號字符串,長度為10 主碼,引用 Course 的外碼Grade 成績整數(shù)取值 0 100CreatetableSC(Snovarchar(7)foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno),Gradeintcheck(Gradeb

4、etween0and100),Primarykey(Sno,Cno)1查詢學生選課表中的全部數(shù)據(jù)。SELECT*FROMSC go2查詢計算機系學生的姓名、年齡。SelectSname,SageFromStudentWhereSdept='計算機系'3查詢成績在 7080 分之間的學生的學號、課程號和成績。SelectSno,Cno,GradeFromCourse,ScWo=sc.Cnoandsc.Gradebetween70and804查詢計算機系年齡在 18 20 之間且性別為“男”的學生的姓名和年齡。SelectSname,SageFromStudentWhereSage

5、between18and20andSsex='男' andSdept= '計算機系' go5查詢課程號為“ C01”的課程的最高分數(shù)。Selecttop1Gradeselectmax(Grade)as 最高分FromScfromScWhereCno=' C01' whereCno=' C01'OrderbyGradedescorderbyGradedesc6查詢計算機系學生的最大年齡和最小年齡。Selectmax(Sage)as 年齡最大, min(Sage)as 年齡最小FromStudentWhereSdept='計算

6、機系'7統(tǒng)計每個系的學生人數(shù)。Selectcount(Sdept)as 學生人數(shù), SdeptFromStudentGroupbySdept8統(tǒng)計每門課程的選課人數(shù)和考試最高分。Selectcount(Sno)as 選課人數(shù), c.Sno,max(Grade)as 最高分FromCoursecleftjoinSo=s.CnoGroupbyc.Cno9統(tǒng)計每個學生的選課門數(shù)和考試平均成績,并按學號的升序顯示結(jié)果。Selectsno,avg(grade)as '平均成績' ,count(cno)as '選課門數(shù)'FromscGroupbysnoOrderby

7、sno10查詢總成績超過 200 分的學生,要求列出學號、總成績。Selectsno,sum(grade)FromscGroupbysnoHavingsum(grade)>20011查詢選修了課程“ C02”的學生的姓名和所在系。Selectsname,sdeptFromstudents1,scs2Wheres1.sno=o= ' c02'12查詢成績在 80 分以上的學生的姓名、課程號和成績,并按成績的降序排列結(jié)果。Selects1.sname,o,s2.gradeFromstudents1,scs2Wheres1.sno=s2.snoandgrade>80Ord

8、erbygradedesc13查詢哪些課程沒有人選修、要求列出課程號和課程名。So,ameFo=oGo,ameHavingcount(s.sno)=014用子查詢實現(xiàn)如下查詢:(1) 查詢選修了課程“ C01”的學生的姓名和所在系。Selectsname,sdept,snoFromstudentWheresnoin(SelectsnoFromscWherecno=' c01 ')(2) 查詢信息系成績在 80 分以上的學生的學號、姓名。Selectsno,snameFromstudentWheresdept= '外語系' andsnoin(Selectsno F

9、romsc Wheregrade>80 )(3) 查詢計算機系考試成績最高的學生的姓名。Selects1.snamefromstudentsWheresdept= '計算機系' andsnoin(selectsnofromscWheregradein(selectmax(Grade)fromsc)15刪除選課成績小于 50 分的學生的選課記錄。DeletefromscWheregrade<70Select*fromsc 驗證16將所有選修了課程“ C01”的學生的成績加 10 分:UpdatescSetgrade=grade+10Wherecno=' c01

10、'17將計算機系所有選修了課程“計算機文化基礎(chǔ)”課程的學生的成績加 10 分。Select*fromscUpdatescSetgrade=grade+10Wherecnoin(selectcnofromcourseWherecname='計算機文化基礎(chǔ)' )18創(chuàng)建查詢學生的學號、姓名、所在系、課程號、課程名、 課程學分的視圖。Select*fromcourseSelect*fromstudentsSelect*fromscCreateview 學生基本信息AsSelectstudents.sno,sname,sdept,o,cname,ccreditFromcours

11、e,sc,studentsWo=oAo=students.sno19創(chuàng)建查詢每個學生的平均成績的視圖,要求列出學生學號及平均成績。Createviews_avgAsSelectsno,avg(Grade)as 平均成績 fromscGroupbysno20創(chuàng)建查詢每個學生的選課學分的視圖,要求列出學生學號 及總學分。Createviews_scAsSelectstudents.sno,sum(ccredit)as 總學分 fromStudents,sc,courseWherestudents.sno=sc.snoAo=oGroupbystudents.sno21用SQL語句創(chuàng)建一個名為 f_1

12、 的函數(shù),該函數(shù)能夠求出3到 100之間的所有素數(shù)之和。Createfunctionf_1()ReturnsintAsBeginDeclareaint,bint,iint,sumintSeti=3Setsum=0Whilei<101BeginSetb=0Whilea<=i/2BeginIfi%a=0BeginSetb=1BreakEndSeta=a+1EndIfb=0-b 為 0 說明之前沒有比 i小的數(shù)字可以把 i 整除BeginSetsum=sum+iEndSeti=i+1EndReturnsumEndGoSelectdbo.f_1()22用SQL語句創(chuàng)建一個名為 f_2 的函

13、數(shù),該函數(shù)能夠求出任意兩個數(shù)的最大值。Createfunctionf_2(x1int,x2int)returnsintAsBeginDeclaremaxintIfx1>x2ReturnmaxEndSelectdbo.f_2(2,6)23用SQL語句創(chuàng)建一個名為 pro_get_stu_information 的存 儲過程,該存儲過程能夠根據(jù)用戶指定的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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論