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

下載本文檔

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

文檔簡介

1、。用 SQL語句創(chuàng)建如下三個基本表:學生表(Student) 、課程表( Course )、學生選課表( SC),結構如下所示Student表結構列名說明數(shù)據類型約束Sno學號字符串,長度為7主碼Sname姓名字符串,長度為10非空Ssex性別字符串,長度為2取男或女Sage年齡整數(shù)取值 1545Sdept所在院系字符串,長度為20默認為計算機系Create table Student(Sno varchar(7) primary key,Sname varchar(10) not null,Ssex char (2) check(Ssex=男 or Ssex= 女 ),Sage int ch

2、eck(Sage between 15 and 45),Sdept varchar(20) default( 計算機系 )Course表結構列名說明數(shù)據類型約束Cno課程號字符串,長度為10主碼Cname課程名字符串,長度為20非空Ccredit學分整數(shù)取值大于 0Semester學期整數(shù)取值大于 0Period學時整數(shù)取值大于 0Create table course(Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int check(Sctedit0),Semester int check(Semester0),

3、Period int check(Period0)SC表結構列名說明數(shù)據類型約束Sno學號字符串,長度為7主碼,引用Student的外碼。1。Cno課程號字符串,長度為10主碼,引用Course 的外碼Grade成績整數(shù)取值 0 100Create table SC(Sno varchar(7) foreign key references student(Sno), Cno varchar(10) foreign key references course(Cno),Grade int check(Grade between 0 and 100),Primary key (Sno,Cno)1

4、查詢學生選課表中的全部數(shù)據。SELECT *FROM SCgo2查詢計算機系學生的姓名、年齡。Select Sname,SageFrom StudentWhere Sdept= 計算機系 3查詢成績在70 80 分之間的學生的學號、課程號和成績。Select Sno,Cno,GradeFrom Course,ScWhere o=sc.Cno and sc.Grade between 70 and 804查詢計算機系年齡在18 20 之間且性別為“男”的學生的姓名和年齡。Select Sname,SageFrom StudentWhere Sage between 18 and 20 and S

5、sex= 男 and Sdept= 計算機系 go5查詢課程號為“C01”的課程的最高分數(shù)。Select top 1 Gradeselect max(Grade) as最高分From Scfrom Sc。2。Where Cno= C01where Cno= C01Order by Grade descorder by Grade desc6查詢計算機系學生的最大年齡和最小年齡。Select max(Sage) as年齡最大, min(Sage) as年齡最小From StudentWhere Sdept= 計算機系 7統(tǒng)計每個系的學生人數(shù)。Select count(Sdept) as學生人數(shù),

6、 SdeptFrom StudentGroup by Sdept8統(tǒng)計每門課程的選課人數(shù)和考試最高分。Select count(Sno) as選課人數(shù), c.Sno,max(Grade) as最高分From Course c left join Sc s on o=s.CnoGroup by c.Cno9統(tǒng)計每個學生的選課門數(shù)和考試平均成績,并按學號的升序顯示結果。Select sno,avg(grade) as 平均成績 ,count (cno) as 選課門數(shù) From scGroup by snoOrder by sno10查詢總成績超過200 分的學生,要求列出學號、總成績。Selec

7、t sno,sum(grade)From scGroup by snoHaving sum(grade)20011查詢選修了課程“C02”的學生的姓名和所在系。Select sname,sdeptFrom student s1,sc s2Where s1.sno=s2.sno and o= c0212查詢成績在80 分以上的學生的姓名、課程號和成績,并按。3。成績的降序排列結果。Select s1.sname,o,s2.gradeFrom student s1,sc s2Where s1.sno=s2.sno and grade 80Order by grade desc13查詢哪些課程沒有人

8、選修、要求列出課程號和課程名。Select o,ameFrom course c left join sc s on o=oGroup by o,ameHaving count(s.sno)=014用子查詢實現(xiàn)如下查詢:(1) 查詢選修了課程“ C01”的學生的姓名和所在系。Select sname,sdept ,snoFrom studentWhere sno in (Select snoFrom scWhere cno= c01 )(2) 查詢信息系成績在 80 分以上的學生的學號、姓名。Select sno,snameFrom studentWhere sdept= 外語系 and sn

9、o in(Select snoFrom scWhere grade80)(3) 查詢計算機系考試成績最高的學生的姓名。Select s1.sname from studentsWhere sdept= 計算機系 and sno in(select sno from scWhere grade in。4。(select max(Grade)from sc)15刪除選課成績小于50 分的學生的選課記錄。Delete from scWhere grade70Select* from sc驗證16將所有選修了課程“C01”的學生的成績加10 分:Update scSet grade=grade+10W

10、here cno= c0117將計算機系所有選修了課程“計算機文化基礎”課程的學生的成績加10 分。Select*from scUpdate scSet grade=grade+10Where cno in(select cno from courseWhere cname= 計算機文化基礎 )18創(chuàng)建查詢學生的學號、姓名、所在系、課程號、課程名、課程學分的視圖。Select* from courseSelect* from studentsSelect* from scCreate view學生基本信息AsSelect students.sno,sname,sdept,o,cname,ccr

11、editFrom course,sc,studentsWhere o=oAnd o=students.sno19創(chuàng)建查詢每個學生的平均成績的視圖,要求列出學生學號。5。及平均成績。Create view s_avgAsSelect sno,avg(Grade)as平均成績from scGroup by sno20創(chuàng)建查詢每個學生的選課學分的視圖,要求列出學生學號及總學分。Create view s_scAsSelect students.sno,sum(ccredit)as總學分 fromStudents,sc,courseWhere students.sno=sc.snoAnd o=oGro

12、up by students.sno21用 SQL語句創(chuàng)建一個名為f_1 的函數(shù),該函數(shù)能夠求出3 到 100 之間的所有素數(shù)之和。Create function f_1()Returns intAsBeginDeclare a int,b int,i int,sum intSet i=3Set sum=0While i101BeginSet b=0While ax2Return maxEndSelect dbo.f_2(2,6)23用SQL 語句創(chuàng)建一個名為pro_get_stu_information的存儲過程,該存儲過程能夠根據用戶指定的Sno (學號)求出與該學號對應的學生姓名、課程名、成績。Create procedure pro_get_stu_information m char(6) outputAsSelect sname,cname,grade from students,sc,courseWhere students.sno=sc.sno and o=o and sc.sno=mExec pro_get_stu_information 0603002。7。24為“學生”表創(chuàng)建一個依賴于“學號”的唯一的、非聚集的索引Create unique nonclustered index stu_int on st

溫馨提示

  • 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

提交評論