【文章內(nèi)容簡介】
1號課程最高分39。from Reportswhere Cno=39。C0139。 運(yùn)行結(jié)果為: ~課本的Student_Course數(shù)據(jù)庫各表為: 案例1:查詢?nèi)w學(xué)生的學(xué)號與姓名 命令為:select Sno ,Sname from Student 。 運(yùn)行結(jié)果為: 案例2:查詢?nèi)w學(xué)生的姓名、學(xué)號、所在系命令為:select Sname ,Sno ,Sdept from Student。 運(yùn)行結(jié)果為: 案例4:查詢?nèi)w學(xué)生的姓名及其出生年份命令為: select Sname ,2016Sage 39。2016Sage39。 from Student 。 運(yùn)行結(jié)果為: 案例5:查詢?nèi)w學(xué)生的姓名、出生年份和所在院系,要求用小寫字母表示系名 命令為:select Sname ,39。Year of Birth39。 39。Year of Birth39。,2014Sage 39。Year of Birth39。 , LOWER (Sdept ) 39。LOWER (Sdept)39。 from Student 。 運(yùn)行結(jié)果為:案例6:查詢選修了課程的學(xué)生學(xué)號 命令為:select Sno from SC。 運(yùn)行結(jié)果為: 案例7:查詢計(jì)算機(jī)系全體學(xué)生的名單 命令為:select Sname from Student where Sdept =39。CS39。 運(yùn)行結(jié)果為: 案例8:查詢所有年齡在20歲以下的學(xué)生姓名及其年齡 命令為:select Sname ,Sage from Student where Sage 20。 運(yùn)行結(jié)果為: 案例9:查詢考試成績不及格的學(xué)生的學(xué)號 命令為:select distinct Sno from SC where Grade60。 運(yùn)行結(jié)果為: 案例10:查詢年齡在20~23歲(包含20歲和23歲)之間的學(xué)生的姓名、系別和年齡 命令為:select Sname,Sdept ,Sage from Student where Sage between 20 and 23。 運(yùn)行結(jié)果為: 案例11:查詢年齡不在20~23歲之間的學(xué)生的姓名、系別和年齡 命令為:select Sname,Sdept ,Sage from Student where Sage not between 20 and 23。 運(yùn)行結(jié)果為: 案例12:查詢計(jì)算機(jī)系、數(shù)學(xué)系和信息系的學(xué)生的姓名和性別 命令為:select Sname ,Ssex from Student where Sdept in(39。CS39。,39。MA39。,39。IS39。)。 運(yùn)行結(jié)果為: 案例13:查詢不是計(jì)算機(jī)系、數(shù)學(xué)系和信息系的學(xué)生的姓名和性別 命令為:select Sname ,Ssex from Student where Sdept not in(39。CS39。,39。MA39。,39。IS39。)。 運(yùn)行結(jié)果為: 案例14:查詢學(xué)號為201212121的學(xué)生的詳細(xì)情況 命令為:select * from Student where Sno=39。20121512139。 運(yùn)行結(jié)果為: 案例15:查詢所有姓劉的學(xué)生的姓名、學(xué)號和性別 命令為:select Sname ,Sno,Ssex from Student where Sname like 39。劉%39。 運(yùn)行結(jié)果為: 案例16:查詢姓“歐陽”且全名為三個漢字的學(xué)生的姓名 命令為:select Sname from Student where Sname like 39。歐陽_39。 運(yùn)行結(jié)果為: 案例17:查詢名字中第二個字為“陽”的學(xué)生的姓名和學(xué)號 命令為:select Sname ,Sno from Student where Sname like 39。_陽%39。 運(yùn)行結(jié)果為: 案例18:查詢所有不姓劉的學(xué)生的姓名、學(xué)號和性別 命令為:select Sname ,Sno ,Ssex from Student where Sname not like 39。劉%39。 運(yùn)行結(jié)果為: 案例19:查詢DB_設(shè)計(jì)課程的課程號和學(xué)分 命令為:select Cno ,Ccredit from Course where Cname like 39。DB\_設(shè)計(jì)39。 escape 39。\39。 運(yùn)行結(jié)果為: 案例20:查詢以“DB_”開頭,且倒數(shù)第三個字符為設(shè)的課程詳細(xì)情況 命令為:select Cno ,Ccredit from Course where Cname like 39。DB\_%設(shè)__39。 escape 39。\39。 運(yùn)行結(jié)果為:案例21:某些學(xué)生選修課程后沒有參加考試,所以有選課記錄,但沒有考試成績。試查詢?nèi)鄙俪煽兊膶W(xué)生的學(xué)號(Sno)和相應(yīng)的課程號(Cno)。其命令為: 命令為:select Sno ,Cno from SC where Grade is null。 運(yùn)行結(jié)果為:案例22:查詢所有有成績的學(xué)生學(xué)號和課程號 命令為:select Sno ,Cno from SC where Grade is not null。 運(yùn)行結(jié)果為:案例23:查詢計(jì)算機(jī)系年齡在20歲以下的學(xué)生姓名 命令為:select Sname from Student where Sdept =39。CS39。and Sage 20。 運(yùn)行結(jié)果為:案例24:查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系的系名(Sdpet)升序排列,同一系中的學(xué)生按年齡(Sage)降序排列。其命令為: 命令為:select * from Student order by Sdept ,Sage desc。 運(yùn)行結(jié)果為:案例25:查詢學(xué)生總?cè)藬?shù) 命令為:select count (*) 39。學(xué)生總?cè)藬?shù) 39。 from Student 。 運(yùn)行結(jié)果為:案例26:查詢選修了課程的學(xué)生人數(shù) 命令為:select count (distinct Sno) 39。選修課總?cè)藬?shù) 39。 from Student 。 運(yùn)行結(jié)果為:. . . .實(shí)驗(yàn)四 連接、嵌套和集合查詢一、實(shí)驗(yàn)?zāi)康募耙螅?1.熟練掌握連接、嵌套和集合查詢的使用。2.學(xué)習(xí)各種連接、嵌套和集合查詢方法。二、實(shí)驗(yàn)任務(wù)1.掌握連接、嵌套和集合查詢語句的一般格式。2.掌握連接、嵌套和集合查詢的各種使用方法。三、操作要點(diǎn)1.創(chuàng)建表時候,在查詢分析器中輸入程序,編譯時查看附錄的出錯信息再進(jìn)行修改。2.函數(shù)除了系統(tǒng)函數(shù)以外也可以自定義函數(shù)。3.為了避免程序丟失,把程序保存在到規(guī)定的目錄中去。四、注意事項(xiàng)1.注意TSQL各種運(yùn)算符、控制語句的功能及使用方法。2.注意各種系統(tǒng)函數(shù)的調(diào)用方法。五、實(shí)驗(yàn)學(xué)時:4學(xué)時六、實(shí)驗(yàn)重點(diǎn)及難點(diǎn)1.明白兩個表之間的聯(lián)系是通過公共屬性實(shí)現(xiàn)的。2.連接、嵌套和集合查詢的各種使用方法。3.多重嵌套的使用。七、實(shí)驗(yàn)步驟(1) 啟動SQL查詢分析器;(2) 選擇SQL SERVER后,按確認(rèn);(3) 選擇數(shù)據(jù)庫Univisity;(4) 進(jìn)行以下查詢:1.查詢每個學(xué)生及其選修課程的情況。 命令為:select Students.*,Reports .* from Students ,Reports where =Reports .Sno 。 運(yùn)行結(jié)果為:2.查詢每一門課的間接先修課(即先修課的先修課)。 命令為:select , from Courses first,Courses second where first .Pre_Cno =second .Cno 。 運(yùn)行結(jié)果為:3.查詢與“李偉”在同一個系學(xué)習(xí)的學(xué)生學(xué)號(Sno)、姓名(Sname)和系名(Sdept)。 命令為:select Sno ,Sname,Sdept from Students where Sdept in (select Sdept from Students where Sname =39。李偉39。)。 運(yùn)行結(jié)果為:4.查詢選修了課程名為“數(shù)據(jù)結(jié)構(gòu)”的學(xué)生學(xué)號(Sno)和姓名(Sname)。 命令為:select Sno ,Sname from Students where Sno in ( select Sno from Reports where Cno in ( select Cno from Courses where Cname =39。數(shù)據(jù)結(jié)構(gòu)39。 ) ) 運(yùn)行結(jié)果為:5.查詢與“S04”號學(xué)生在同一個系學(xué)習(xí)的學(xué)生學(xué)號(Sno)、姓名(Sname)和系名(Sdept)。 命令為:select Sno ,Sname ,Sdept from Students where Sdept in (select Sdept from Students where Sno=39。S0439。)。運(yùn)行結(jié)果為:6.查詢非自動化系的不超過自動化系所有學(xué)生的年齡的學(xué)生姓名(Sname)和年齡(Sage)。 命令為:select Sname ,Sage from Students where Sage all (select Sage from Students where Sdept =39。自動化39。) and Sdept39。自動化39。 運(yùn)行結(jié)果為:7.查詢所有選修了編號為“C01”課程的學(xué)生姓名(Sname)和所在系(Sdept)。 命令為:select Sname ,Sdept from Students where Sno in(select Sno from Reports where Cno=39。C0139。)。 或: select Sname ,Sdept from Students where exists(select * from Reports where Sno= and Cno=39。C0139。)。運(yùn)行結(jié)果為:8.查詢選修了所有課程的學(xué)生姓名(Sname)和所在系。