資源描述:
《sql語(yǔ)句創(chuàng)建學(xué)生信息數(shù)據(jù)庫(kù)表的示例》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、用SQL語(yǔ)句創(chuàng)建如下三個(gè)基本表:學(xué)生表(Student)、課程表(Course)、學(xué)生選課表(SC),結(jié)構(gòu)如下所示Student表結(jié)構(gòu)列名說(shuō)明數(shù)據(jù)類型約束Sno學(xué)號(hào)字符串,長(zhǎng)度為7主碼Sname姓名字符串,長(zhǎng)度為10非空Ssex性別字符串,長(zhǎng)度為2取‘男’或‘女’Sage年齡整數(shù)取值15~45Sdept所在院系字符串,長(zhǎng)度為20默認(rèn)為‘計(jì)算機(jī)系’CreatetableStudent(Snovarchar(7)primarykey,Snamevarchar(10)notnull,Ssexchar(2)check(Ssex=‘男’orSsex=’女’),Sageint
2、check(Sagebetween15and45),Sdeptvarchar(20)default(‘計(jì)算機(jī)系’))Course表結(jié)構(gòu)列名說(shuō)明數(shù)據(jù)類型約束Cno課程號(hào)字符串,長(zhǎng)度為10主碼Cname課程名字符串,長(zhǎng)度為20非空Ccredit學(xué)分整數(shù)取值大于0Semester學(xué)期整數(shù)取值大于0Period學(xué)時(shí)整數(shù)取值大于0Createtablecourse(Cnovarchar(10)primarykey,Cnamevarchar(20)notnull,Ccreditintcheck(Sctedit>0),Semesterintcheck(Semester>0),P
3、eriodintcheck(Period>0))SC表結(jié)構(gòu)列名說(shuō)明數(shù)據(jù)類型約束Sno學(xué)號(hào)字符串,長(zhǎng)度為7主碼,引用Student的外碼Cno課程號(hào)字符串,長(zhǎng)度為10主碼,引用Course的外碼Grade成績(jī)整數(shù)取值0~100CreatetableSC(Snovarchar(7)foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno),Gradeintcheck(Gradebetween0and100),Primarykey(Sno,Cno))1.查詢學(xué)生選課表中的全
4、部數(shù)據(jù)。SELECT*FROMSCgo2.查詢計(jì)算機(jī)系學(xué)生的姓名、年齡。SelectSname,SageFromStudentWhereSdept=’計(jì)算機(jī)系’3.查詢成績(jī)?cè)?0~80分之間的學(xué)生的學(xué)號(hào)、課程號(hào)和成績(jī)。SelectSno,Cno,GradeFromCourse,ScWherecourse.cno=sc.Cnoandsc.Gradebetween70and804.查詢計(jì)算機(jī)系年齡在18~20之間且性別為“男”的學(xué)生的姓名和年齡。SelectSname,SageFromStudentWhereSagebetween18and20andSsex=’男’a
5、ndSdept=’計(jì)算機(jī)系’go5.查詢課程號(hào)為“C01”的課程的最高分?jǐn)?shù)。Selecttop1Gradeselectmax(Grade)as最高分FromScfromScWhereCno=’C01’whereCno=’C01’OrderbyGradedescorderbyGradedesc6.查詢計(jì)算機(jī)系學(xué)生的最大年齡和最小年齡。Selectmax(Sage)as年齡最大,min(Sage)as年齡最小FromStudentWhereSdept=’計(jì)算機(jī)系’7.統(tǒng)計(jì)每個(gè)系的學(xué)生人數(shù)。Selectcount(Sdept)as學(xué)生人數(shù),SdeptFromStuden
6、tGroupbySdept8.統(tǒng)計(jì)每門(mén)課程的選課人數(shù)和考試最高分。Selectcount(Sno)as選課人數(shù),c.Sno,max(Grade)as最高分FromCoursecleftjoinScsonc.cno=s.CnoGroupbyc.Cno9.統(tǒng)計(jì)每個(gè)學(xué)生的選課門(mén)數(shù)和考試平均成績(jī),并按學(xué)號(hào)的升序顯示結(jié)果。Selectsno,avg(grade)as’平均成績(jī)’,count(cno)as’選課門(mén)數(shù)’FromscGroupbysnoOrderbysno10.查詢總成績(jī)超過(guò)200分的學(xué)生,要求列出學(xué)號(hào)、總成績(jī)。Selectsno,sum(grade)Fromsc
7、GroupbysnoHavingsum(grade)>20011.查詢選修了課程“C02”的學(xué)生的姓名和所在系。Selectsname,sdeptFromstudents1,scs2Wheres1.sno=s2.snoands2.cno=’c02’12.查詢成績(jī)?cè)?0分以上的學(xué)生的姓名、課程號(hào)和成績(jī),并按成績(jī)的降序排列結(jié)果。Selects1.sname,s2.cno,s2.gradeFromstudents1,scs2Wheres1.sno=s2.snoandgrade>80Orderbygradedesc13.查詢哪些課程沒(méi)有人選修、要求列出課程號(hào)和課程名。Se
8、lectc