數(shù)據(jù)庫(kù)實(shí)驗(yàn)四作業(yè)及答案_第1頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)四作業(yè)及答案_第2頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)四作業(yè)及答案_第3頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)四作業(yè)及答案_第4頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)四作業(yè)及答案_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)4  數(shù)據(jù)查詢(xún) 一、        實(shí)驗(yàn)?zāi)康?.     掌握使用Transact-SQL的SELECT語(yǔ)句進(jìn)行基本查詢(xún)的方法。2.     掌握使用SELECT語(yǔ)句進(jìn)行條件查詢(xún)的方法。3.     掌握嵌套查詢(xún)的方法。4.     掌握多表查詢(xún)的方法。5.     掌握SELECT語(yǔ)句的GROUP BY

2、和ORDER BY子句的作業(yè)和使用方法。6.     掌握聯(lián)合查詢(xún)的操作方法。7.     掌握數(shù)據(jù)更新語(yǔ)句INSERT INTO、UPDATE、DELETE的使用方法。 二、        實(shí)驗(yàn)準(zhǔn)備1.     了解SELECT語(yǔ)句的基本語(yǔ)法格式和執(zhí)行方法。2.     了解嵌套查詢(xún)的表示方法。3.     了解UN

3、ION運(yùn)算符的用法。4.     了解SELECT語(yǔ)句的GROUP BY和ORDER BY子句的作用。5.     了解IN、JOIN等子查詢(xún)的格式。6.     了解INSERT INTO、UPDATE、DELETE的格式與作用。 三、        實(shí)驗(yàn)內(nèi)容及步驟0.   創(chuàng)建studentsdb數(shù)據(jù)庫(kù)及其相應(yīng)表,并錄入數(shù)據(jù)。    

4、 啟動(dòng)查詢(xún)分析器,運(yùn)行下面鏈接的代碼即可。        創(chuàng)建數(shù)據(jù)庫(kù)代碼 1.     在studentsdb數(shù)據(jù)庫(kù)中,使用下列SQL語(yǔ)句將輸出什么?(1)       SELECT COUNT(*) FROM grade(2)       SELECT SUBSTRING(姓名,1,2) FROM student_info (3)  &

5、#160;    SELECT UPPER('kelly') (4)       SELECT Replicate('kelly',3) (5)       SELECT SQRT(分?jǐn)?shù)) FROM grade WHERE 分?jǐn)?shù)>=85 (6)       SELECT 2,3,POWER(2,3) (7)   

6、0;   SELECT YEAR(GETDATE(),MONTH(GETDATE(),DAY(GETDATE()  2.     在studentsdb數(shù)據(jù)庫(kù)中使用SELECT語(yǔ)句進(jìn)行基本查詢(xún)。(1)       在student_info表中,查詢(xún)每個(gè)學(xué)生的學(xué)號(hào)、姓名、出生日期信息。 SELECT * FROM student_info (2)       查詢(xún)學(xué)號(hào)為0002的學(xué)生的姓名和家庭住址。 SE

7、LECT 姓名,家庭住址 FROM student_infoWHERE 學(xué)號(hào)=0002(3)       找出所有男同學(xué)的學(xué)號(hào)和姓名。 SELECT 學(xué)號(hào),姓名 FROM student_infoWHERE 性別='男' 3.     使用SELECT語(yǔ)句進(jìn)行條件查詢(xún)(1)       在grade表中查找分?jǐn)?shù)在8090分為內(nèi)的學(xué)生的學(xué)號(hào)和分?jǐn)?shù)。SELECT 學(xué)號(hào),分?jǐn)?shù) FROM gradeWHERE 分?jǐn)?shù) BETWEE

8、N 80 AND 90 (2)       在grade表中查詢(xún)課程編號(hào)為0003的學(xué)生的平均分。 SELECT AVG(分?jǐn)?shù)) AS 平均分 FROM gradeWHERE 課程編號(hào)=0003 (3)       在grade表中查詢(xún)學(xué)習(xí)各門(mén)課程的人數(shù)。SELECT 課程編號(hào), COUNT(*) AS 人數(shù)FROM gradeGROUP BY 課程編號(hào) (4)       將學(xué)生按出生日期由大到小排序。SELECT

9、 學(xué)號(hào),姓名,出生日期 FROM student_infoORDER BY 出生日期 ASC(5)       查詢(xún)所有姓“張”的學(xué)生的學(xué)號(hào)和姓名。 SELECT 學(xué)號(hào),姓名 FROM student_info WHERE 姓名 LIKE '張%' 4.     嵌套查詢(xún)(1)       在student_info表中查找與“劉衛(wèi)平”性別相同的所有學(xué)生的姓名、出生日期。  SELECT 姓名,出生日

10、期FROM student_infoWHERE 性別=          (SELECT 性別           FROM student_info          WHERE 姓名='劉衛(wèi)平') (2)       使用IN子查詢(xún)查找所修課程編號(hào)為0002、0005的

11、學(xué)生學(xué)號(hào)、姓名、性別。 SELECT 學(xué)號(hào),姓名,性別FROM student_infoWHERE student_info.學(xué)號(hào) IN        (SELECT 學(xué)號(hào)          FROM grade        WHERE 課程編號(hào) IN ('0002', '0005') (3)    &#

12、160;  列出學(xué)號(hào)為0001的學(xué)生的分?jǐn)?shù)比0002號(hào)的學(xué)生的最低分?jǐn)?shù)高的課程編號(hào)和分?jǐn)?shù)。 SELECT 課程編號(hào),分?jǐn)?shù) FROM gradeWHERE 學(xué)號(hào)='0001' AND 分?jǐn)?shù)>ANY (SELECT 分?jǐn)?shù) FROM gradeWHERE 學(xué)號(hào)='0002')(4)       列出學(xué)號(hào)為0001的學(xué)生的分?jǐn)?shù)比0002的學(xué)生的最高成績(jī)還要高的課程編號(hào)和分?jǐn)?shù)。 SELECT 課程編號(hào),分?jǐn)?shù)FROM gradeWHERE 學(xué)號(hào)='0001' AND 分?jǐn)?shù)>AL

13、L (SELECT 分?jǐn)?shù) FROM gradeWHERE 學(xué)號(hào)='0002')5.     多表查詢(xún)(1)       查詢(xún)分?jǐn)?shù)在8090范圍內(nèi)的學(xué)生的學(xué)號(hào)、姓名、分?jǐn)?shù)。  SELECT student_info.學(xué)號(hào),姓名,分?jǐn)?shù)FROM student_info,gradeWHERE student_info.學(xué)號(hào)=grade.學(xué)號(hào) AND 分?jǐn)?shù) BETWEEN 80 AND 90(2)       查詢(xún)學(xué)習(xí)

14、“C語(yǔ)言程序設(shè)計(jì)”課程的學(xué)生的學(xué)號(hào)、姓名、分?jǐn)?shù)。SELECT student_info.學(xué)號(hào),姓名,分?jǐn)?shù)FROM student_info INNER JOIN grade ON student_info.學(xué)號(hào)=grade.學(xué)號(hào)INNER JOIN curriculum ON 課程名稱(chēng)='C語(yǔ)言程序設(shè)計(jì)'(3)       查詢(xún)所有男同學(xué)的選課情況,要求列出學(xué)號(hào)、姓名、課程名稱(chēng)、分?jǐn)?shù)。select student_info.學(xué)號(hào),姓名,課程編號(hào),分?jǐn)?shù) from student_info left outer join

15、grade on student_info.學(xué)號(hào)=grade.學(xué)號(hào) where 性別='男'(4)       查詢(xún)每個(gè)學(xué)生的所選課程的最高成績(jī),要求列出學(xué)號(hào)、姓名、課程名稱(chēng)、分?jǐn)?shù)。select grade.學(xué)號(hào),student_info.姓名,grade.課程編號(hào),grade.分?jǐn)?shù) from student_info left outer join grade on student_info.學(xué)號(hào)=grade.學(xué)號(hào) where grade.分?jǐn)?shù)>=(select MAX(分?jǐn)?shù)) from grade b whe

16、re b.學(xué)號(hào)=grade.學(xué)號(hào))(5)       查詢(xún)所有學(xué)生的總成績(jī),要求列出學(xué)號(hào)、姓名、總成績(jī),沒(méi)有選修課程的學(xué)生的總成績(jī)?yōu)榭?。提示:使用左外連接。select grade.學(xué)號(hào),姓名,sum(分?jǐn)?shù)) from student_info left outer join grade on student_info.學(xué)號(hào)=grade.學(xué)號(hào) group by grade.學(xué)號(hào),姓名(6)       為grade表添加數(shù)據(jù)行:學(xué)號(hào)0004、課程編號(hào)為0006、成績(jī)?yōu)?6。查

17、詢(xún)所有課程的選修情況,要求列出課程編號(hào)、課程名稱(chēng)、選修人數(shù),curriculum表中沒(méi)有的課程列值為空。提示:使用右外連接。insert grade values('0004','0006','76')select grade.課程編號(hào),課程名稱(chēng),count(*) from grade right outer join curriculum on grade.課程編號(hào)=curriculum.課程編號(hào) group by grade.課程編號(hào),課程名稱(chēng)6.     使用UNION運(yùn)算符將student_info

18、表中姓“張”的學(xué)生的學(xué)號(hào)、姓名與curriculum表的課程編號(hào)、課程名稱(chēng)返回在一個(gè)表中,且列名為u_編號(hào)、u_名稱(chēng),如圖1-8所示。select 學(xué)號(hào) u_編號(hào),姓名 u_名稱(chēng) from student_info where 姓名 like '張%' union select 課程編號(hào),課程名稱(chēng) from curriculum圖1-8  聯(lián)合查詢(xún)結(jié)果集 7.     數(shù)據(jù)更新(1)       創(chuàng)建totalgrade表,具有數(shù)據(jù)列:學(xué)號(hào)、姓名、總成績(jī)。  CREATE TABLE totalgrade( 學(xué)號(hào) char(4) NOT NULL, 姓名 varchar(8) NULL, 總成績(jī) decimal(5,2) NULL ) (2)       使用INSERT INTO語(yǔ)句通過(guò)student_info表更新totalgrade表的學(xué)號(hào)、姓名列數(shù)據(jù)。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論