實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)使用SSMS工具,練習(xí)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表進(jìn)行單表查詢、多表連接查詢、子查詢。對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行更改和刪除等操作。
實(shí)驗(yàn)要求:將相關(guān)的SQL 語(yǔ)句和運(yùn)行結(jié)果的截屏保存在文件中,或填寫(xiě)在下面的實(shí)驗(yàn)報(bào)告中,并通過(guò)網(wǎng)絡(luò)提交。
實(shí)驗(yàn)內(nèi)容:
使用SSMS工具,在“可用數(shù)據(jù)庫(kù)”中選中Students數(shù)據(jù)庫(kù),完成如下實(shí)驗(yàn)。
1. 單表查詢。寫(xiě)出實(shí)現(xiàn)如下查詢的SQL語(yǔ)句。
(1) 查詢學(xué)生選課表中的全部數(shù)據(jù)。
(2) 查詢計(jì)算機(jī)系的學(xué)生的姓名、年齡。
(3) 查詢成績(jī)?cè)?0~80分的學(xué)生的學(xué)號(hào)、課程號(hào)和成績(jī)。
(4) 查詢計(jì)算機(jī)系年齡在18~20歲男生的姓名、年齡。
(5) 查詢C001課程的考試成績(jī)最高分。
(6) 查詢計(jì)算機(jī)系學(xué)生的最大年齡和最小年齡。
(7) 統(tǒng)計(jì)各系的學(xué)生人數(shù)。
(8) 統(tǒng)計(jì)每門(mén)課程的選課人數(shù)和考試成績(jī)最高分。
(9) 統(tǒng)計(jì)每個(gè)學(xué)生的選課門(mén)數(shù)和考試總成績(jī),并按選課門(mén)數(shù)升序顯示結(jié)果。
(10)查詢總成績(jī)超過(guò)200分的學(xué)生,要求列出其學(xué)號(hào)和總成績(jī)。
(11)查詢選課門(mén)數(shù)超過(guò)2門(mén)的學(xué)生的學(xué)號(hào)、平均成績(jī)和選課門(mén)數(shù)。
2. 多表連接查詢。寫(xiě)出實(shí)現(xiàn)如下查詢的SQL語(yǔ)句。
(12) 查詢選了C002課程的學(xué)生的姓名和所在系。
(13) 查詢成績(jī)80分以上的學(xué)生的姓名、課程號(hào)和成績(jī),并按成績(jī)降序排列結(jié)果。
(14) 查詢計(jì)算機(jī)系男生選修了“數(shù)據(jù)庫(kù)基礎(chǔ)”的學(xué)生的姓名和成績(jī)。
(15) 查詢學(xué)生的選課情況,要求列出每位學(xué)生的選課情況(包括未選課的學(xué)生),并列出學(xué)生的學(xué)號(hào)、姓名、課程號(hào)和考試成績(jī)。
(16) 查詢哪些課程沒(méi)有人選修,要求列出課程號(hào)和課程名。
(17) 查詢計(jì)算機(jī)系沒(méi)有選課的學(xué)生,列出學(xué)生的姓名。
3. 使用TOP和CASE的查詢。寫(xiě)出實(shí)現(xiàn)如下查詢的SQL語(yǔ)句。
(18) 列出“數(shù)據(jù)庫(kù)基礎(chǔ)”課程考試成績(jī)前三名的學(xué)生的學(xué)號(hào)、姓名、所在系和考試成績(jī)。
(19) 查詢Java考試成績(jī)最低的學(xué)生的姓名、所在系和Java成績(jī)。
(20) 查詢選修了Java的學(xué)生學(xué)號(hào)、姓名、所在系和成績(jī),并對(duì)所在系進(jìn)行如下處理:
當(dāng)所在系為“計(jì)算機(jī)系”時(shí),顯示“CS”;
當(dāng)所在系為“信息管理系”時(shí),顯示“IS”;
當(dāng)所在系為“通信工程系”時(shí),顯示“CO”;
對(duì)其他系,均顯示“OTHER”。
4. 子查詢。寫(xiě)出實(shí)現(xiàn)如下查詢的SQL語(yǔ)句。
(21) 查詢選修了C001課程的學(xué)生姓名和所在系。
(22) 查詢計(jì)算機(jī)文化學(xué)考試成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)和姓名。
(23) 查詢計(jì)算機(jī)文化學(xué)考試成績(jī)最高的學(xué)生姓名和所在系。
(24) 查詢年齡最大的男生的姓名和年齡。
(25) 查詢C001課程的考試成績(jī)高于C001課程的平均成績(jī)的學(xué)生的學(xué)號(hào)及其C001課程考試成績(jī)。
5. 數(shù)據(jù)更改。寫(xiě)出實(shí)現(xiàn)如下操作的SQL語(yǔ)句。
(26) 將C001課程的考試成績(jī)加10分。
(27) 將計(jì)算機(jī)系所有選修了“計(jì)算機(jī)文化學(xué)”課程的學(xué)生考試成績(jī)加10分,分別用子查詢和多表連接形式實(shí)現(xiàn)。
6. 數(shù)據(jù)刪除。寫(xiě)出實(shí)現(xiàn)如下操作的SQL語(yǔ)句。
(28) 刪除考試成績(jī)低于50分的學(xué)生的選課記錄。
(29) 刪除信息管理系考試成績(jī)低于50分的學(xué)生的該門(mén)課程的選課記錄,分別用子查詢和多表連接形式實(shí)現(xiàn)。
(30) 刪除Java考試成績(jī)最低的學(xué)生的Java選課記錄。