第一篇:數(shù)據(jù)庫實驗(查詢的綜合練習(xí))
實驗六 綜合練習(xí)
一、實驗?zāi)康?/p>
熟練掌握SQL語句的使用
二、實驗內(nèi)容
1.查詢成績在80~90之間的記錄
2.查詢至少有2個同學(xué)選修的課程名
3.查詢其他系中比“信息系”所有學(xué)生年齡都小的學(xué)生名單以及年齡,并按年齡降序輸出
4.查詢與學(xué)生“張立”同歲的學(xué)生姓名
5.查詢選修了兩門以上課程的學(xué)生名單
6.查詢成績比該課程平均成績高的學(xué)生名單以及成績,輸出課程號、平均分、學(xué)號,成績。
7.查詢每個學(xué)生各門課程的平均成績和最高成績,按降序輸出姓名、平均成績和最高成績
8.查詢所有未選01號課程的學(xué)生名單
9.查詢選修了“200215122”號學(xué)生選修了的課程的學(xué)生學(xué)號和姓名
10.查詢所有學(xué)生都選修了的課程的課程號和課程名
三.心得體會
此次試驗涉及到單表查詢,多表查詢,查詢中用到了比較運(yùn)算符,子查詢,自身連接等多種方法,要求我們必須熟練掌握SQL語言才能高效快速的完成練習(xí)。同時應(yīng)該仔細(xì)認(rèn)真地理解題目意思才能防止各類錯誤的出現(xiàn)。
第二篇:3數(shù)據(jù)庫查詢實驗
實驗三 數(shù)據(jù)庫查詢實驗
(3)數(shù)據(jù)庫的組合查詢和統(tǒng)計查詢實驗
課時安排:2課時
一、實驗?zāi)康暮鸵?/p>
使學(xué)生熟練掌握SQL Server查詢分析器的使用方法.加深對SQL和Transact-SQL語言的查詢語句的理解。熟練掌握數(shù)據(jù)查詢中的分組、統(tǒng)計、計算和組合的操作方法。
二、實驗內(nèi)容 分組查詢實驗該實驗包括分組條件表達(dá)、選擇組條件的表達(dá)方法。使用函數(shù)查詢的實驗。該實驗包括統(tǒng)計函數(shù)和分組統(tǒng)計函數(shù)的使用方法。
組合查詢實驗。計算和分組計算查詢的實驗。
三、實驗方法
將查詢需求用 Transact-SQL語言表示;在 SQL Server查詢分析器的輸入?yún)^(qū)中輸入Transact-SQL查詢語句:設(shè)置查詢分析器的結(jié)果區(qū)為Standard Execute(標(biāo)準(zhǔn)執(zhí)行)或Executeto Grid(網(wǎng)格執(zhí)行)方式.發(fā)布執(zhí)行命令 并在結(jié)果區(qū)中查看查詢結(jié)果;如果結(jié)果不正確要進(jìn)行修改.直到正確為止。
四、實驗步驟
基本操作實驗
在圖書借閱庫中實現(xiàn)其查詢操作。
(1)查找這樣的圖書類別:要求類別中最高的圖書定價不低于全部按類別分組的圖書平均定價的2倍。
(2)求機(jī)械工業(yè)出版社出版的各類圖書的平均定價,用GROUPBY表示。
(3)列出計算機(jī)類圖書的書號、名稱及價格.最后求出冊數(shù)和總價格。
(4)列出計算機(jī)類圖書的書號、名稱及價格 并求出各出版社這類書的總價格.最后求出全部冊數(shù)和總價格。
(5)查詢計算機(jī)類和機(jī)械工業(yè)出版社出版的圖書。
提高操作實驗
將自設(shè)計的數(shù)據(jù)庫應(yīng)用項目中的分組、統(tǒng)計、計算和組合查詢用Transact-SQL語句表示.并通過SQL Server 查詢分析器實現(xiàn)其查詢操作。
五、實驗報告要求 分別用SQL和Transact-SQLL寫出實驗操作的查詢語句 對兩種語言進(jìn)行比較。
實驗步驟和實驗結(jié)果。實驗中的問題和提高。
六、注意事項 子句WHERE<條件>表示元組篩選條件,子句HAVING <條件>表示組選擇條件。組合查詢的子句間不能有語句結(jié)束符。子句HAVING<條件>必須和GROUP BY <分組字段>子句配合使用。
七、思考題 組合查詢語句是否可以用其他語句代替,有什么不同? 使用 GROUP BY <分組條件>子句后,語句中的統(tǒng)計函數(shù)的運(yùn)行結(jié)果有什么不同?
第三篇:數(shù)據(jù)庫實驗
實驗1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理數(shù)據(jù)庫 實驗內(nèi)容:
(1)使用SSMS(SQL Server Management Studio)加入實驗數(shù)據(jù)庫。(2)使用SSMS可視化建立、修改和刪除數(shù)據(jù)庫、表。(3)使用SSMS對數(shù)據(jù)庫進(jìn)行備份和恢復(fù)。
(4)使用SSMS對表進(jìn)行查詢、插入、修改、刪除。實驗步驟:
(1)加入School數(shù)據(jù)庫。(2)建立Test數(shù)據(jù)庫。
(3)在數(shù)據(jù)庫中建立人員表PERSON(P#,Pname,Page)。更改表設(shè)置P#為主鍵,增加屬性Ptype(類型是CHAR,長度是10)。
(4)用SSMS的查詢功能(新建查詢)對PERSON表進(jìn)行查詢、插入、修改、刪除等操作:首先插入兩條記錄;修改第二條記錄;刪除第二條記錄。(5)備份Test數(shù)據(jù)庫。(6)刪除表PERSON。(7)恢復(fù)Test數(shù)據(jù)庫。(8)刪除Test數(shù)據(jù)庫。
第四篇:數(shù)據(jù)庫實驗
3.實驗步驟
在學(xué)生選課數(shù)據(jù)庫中實現(xiàn)其查詢操作,寫出T-SQL語句(注:學(xué)生選課數(shù)據(jù)庫為前三次實驗課所建立的數(shù)
據(jù)庫)
一、簡單查詢實驗
(1)查詢選修了課程的學(xué)生學(xué)號。
(2)查詢選修課程號為0101的學(xué)生學(xué)號和成績,并要求對查詢結(jié)果按成績降序排列,如果成績相同則按
學(xué)號升序排列。
(3)查詢選修課程號為0101的成績在80~90分之間的學(xué)生學(xué)號和成績,并將成績乘以系數(shù)0.8輸出。
二、連接查詢實驗
(1)查詢每個學(xué)生的情況以及他(她)所選修的課程。
(2)查詢選修離散散學(xué)課程且成績?yōu)?0分以上的學(xué)生學(xué)號、姓名及成績。
(3)查詢每一門課的間接先行課(即先行課的先行課)
三、嵌套查詢操作
(1)查詢0101課程的成績高于張林的學(xué)生學(xué)號和成績。
(2)查詢其他系中年齡小于計算機(jī)系年齡最大者的學(xué)生。
(3)查詢同王洪敏“數(shù)據(jù)庫原理”課程分?jǐn)?shù)相同的學(xué)生的學(xué)號。
(4)查詢選修了全部課程的學(xué)生的姓名。
(5)查詢與學(xué)號為09001103的學(xué)生所選修的全部課程相同的學(xué)生學(xué)號和姓名。
(6)查詢至少選修了學(xué)號為09001103的學(xué)生所選修的全部課程的學(xué)生學(xué)號和姓名。
四、組合查詢和分組查詢
(1)查找選修“計算機(jī)基礎(chǔ)”課程的學(xué)生成績比此課程的平均成績大的學(xué)生學(xué)號、成績。
(2)查詢年齡大于女同學(xué)平均年齡的男同學(xué)姓名和年齡。
(3)列出各系學(xué)生的總?cè)藬?shù),并按人數(shù)進(jìn)行降序排列。
(5)查詢選修計算機(jī)基礎(chǔ)和離散數(shù)學(xué)的學(xué)生學(xué)號和平均成績。
4、要求
請按題號依次作答,完成在word文檔中,寫明班級學(xué)號姓名,于周日之于周日之前發(fā)至xcf7@163.com,獨立完成,嚴(yán)禁抄
第五篇:實驗5 數(shù)據(jù)庫的嵌套查詢實驗
實驗五
數(shù)據(jù)庫的嵌套查詢實驗
1、實驗?zāi)康?/p>
本實驗的目的是使學(xué)生進(jìn)一步掌握SQL Server查詢分析器的使用方法,加深SQL語言的嵌套查詢語句的理解
2、實驗時數(shù)
2學(xué)時
3、實驗內(nèi)容
本實驗的主要內(nèi)容是:在SQL Server查詢分析器中使用IN、比較符、ANY或ALL和EXISTS操作符進(jìn)行嵌套查詢操作。
具體完成以下例題。將它們用SQL語句表示,在學(xué)生數(shù)據(jù)庫中實現(xiàn)其數(shù)據(jù)嵌套查詢操作。
1、查詢選修了高等數(shù)學(xué)的學(xué)生學(xué)號和姓名 select Sno,Sname from Student where Sno in(select Sno from SC,Course where SC.Cno=Course.Cno and Cname='數(shù)學(xué)')
2、查詢1號課程的成績高于劉晨的1號課程成績的學(xué)生學(xué)號和成績 select SC.Sno,Grade from SC,Student where Cno='1' and SC.Sno=Student.Sno and Grade>all(select Grade from SC,Student where SC.Sno=Student.Sno and Sname='劉晨')
3、查詢其他系中比cs系某一學(xué)生年齡小的學(xué)生(即年齡小于計算機(jī)系年齡最大者的學(xué)生)select * from Student where Sdept!='cs' and Sage 4、查詢其他系中比cs系所有學(xué)生年齡都小的學(xué)生 select * from Student where Sdept!='cs' and Sage 5、查詢選修了2號課程的學(xué)生姓名 select Sname from Student where Sno in(select Student.Sno from SC,Student where SC.Sno=Student.Sno and Cno='2') 6、查詢沒有選修2號課程的學(xué)生姓名 elect Sname from Student where exists(select SC.Sno from SC,Student where Cno!='2' group by SC.Sno) 7、查詢選修了全部課程的學(xué)生姓名 Select * from SC where Cno=all(select Cno from Course) 8、求至少選修了學(xué)號為“00215122”的學(xué)生所選修全部課程的學(xué)生學(xué)號和姓名 select Sno,Sname from Student where Sno in(select Student.Sno from Student,SC where Student.Sno=SC.Sno and Cno=any(select Cno from SC where Sno='00215122')) 4、實驗方法 將查詢需求用SQL語言表示:在SQL Server查詢分析器的輸入?yún)^(qū)中輸入SQL查詢語句:設(shè)置查詢分析器的結(jié)果區(qū)為Standard Execute(標(biāo)準(zhǔn)執(zhí)行)或Execute to Grid(網(wǎng)格執(zhí)行)方式;發(fā)布執(zhí)行命令,并在結(jié)果區(qū)中查看查詢結(jié)果;如果結(jié)果不正確,要進(jìn)行修改,直到正確為止。 5、實驗心得體會 本次實驗還是進(jìn)行查詢操作,只是在第四次試驗的基礎(chǔ)上加入了嵌套,嵌套查詢是在我們以后進(jìn)行軟件開發(fā)涉及數(shù)據(jù)庫常用的查詢操作,通過實驗有助于我們對嵌套查詢的理解,對我們熟練的使用SQL查詢語句進(jìn)行查詢操作有很大幫助。