實驗二 交互式SQL實驗報告_第1頁
實驗二 交互式SQL實驗報告_第2頁
實驗二 交互式SQL實驗報告_第3頁
實驗二 交互式SQL實驗報告_第4頁
實驗二 交互式SQL實驗報告_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗二 交互式SQL實驗報告 。試驗一 交互式SQL 一 實驗?zāi)康?1熟悉數(shù)據(jù)庫的交互式SQL工具。2熟悉通過SQL對數(shù)據(jù)庫進行操作。 完成作業(yè)的上機練習(xí)。3二 實驗工具SQL Server 2005 利用SQL Server 2005及其交互式查詢來熟悉SQL語句。三 實驗內(nèi)容和要求 1在SQL Server 2005中建立一個數(shù)據(jù)庫,進行實驗所要求的各種操作,所有的SQL操作均在建立的新庫里進行; 2根據(jù)以下要求認(rèn)真填寫實驗報告,記錄所有的實驗用例的SQL語言; 3.1 數(shù)據(jù)定義 (1)熟悉基本表的創(chuàng)建、修改及刪除。(2)熟悉索引的創(chuàng)建和刪除。3.2 數(shù)據(jù)操作 (1)完成各類查詢操作(單表

2、查詢,連接查詢,嵌套查詢)等; ;)完成各類更新操作(插入數(shù)據(jù),修改數(shù)據(jù),刪除數(shù)據(jù))(23.3 視圖的操作 視圖的定義(創(chuàng)建和刪除),查詢,更新(注意更新的條件)。3.4 具體操作內(nèi)容 在MS SQL Server中創(chuàng)建學(xué)生課程數(shù)據(jù)庫,要求有學(xué)生表(Student)、課程表(Course)和選課表(SC),向三個表中分別插入相關(guān)數(shù)據(jù),再用SQL語句完成一下要求的查詢。1.使用SQL語言創(chuàng)建下面的三個表。表一:學(xué)生信息表(Student) 列名 說明 數(shù)據(jù)類型 約束 Sno 學(xué)號 字符串,長度為10 非空 Sname 姓名 字符串,長度為20 非空 Ssex 性別 字符串,長度為10 非空 Sa

3、ge 年齡 字符串,長度為10 非空 Sdept 所在系 字符串,長度為10 非空 表二:課程信息表(Course) 列 名 說 明 數(shù)據(jù)類型 約 束 Cno 課程號 整形 非空 Cname 課程名 字符串,長度為20 非空 Cpno 先行課 整型 允許為空 Ccredit 學(xué)分 整型 非空 表三:學(xué)生選課信息表(SC) 精選資料,歡迎下載 。列名 說明 數(shù)據(jù)類型 約束Sno 學(xué)號 字符串,長度為10 Student的外碼主碼,引用Cno 課程號 整型 的外碼主碼,引用CourseGrade 成績字符串,長度為10 0100 取值 在以上的三個表中,分別插入下面的數(shù)據(jù);2. )表一:學(xué)生信息表

4、(StudentSno Sname Ssex Sage Sdept 200215121 李勇男 20 CS 200215122 劉晨女 19 CS 200215123 王敏女 18 200215125 張立 男19 IS Course)表二:課程信息表(Cno Cname Cpno Ccredit 1 數(shù)據(jù)庫5 4 2 數(shù)學(xué) 2 3 信息系統(tǒng)1 4 4 操作系統(tǒng)6 3 5 數(shù)據(jù)結(jié)構(gòu)7 4 6 數(shù)據(jù)處理 2 7 語言PASCAl6 4 )表三:學(xué)生選課信息表(SCSno Cno Grade 200215121 1 92 200215121 2 85 200215121 3 88 20021512

5、2 2 90 200215122 3 80 語句:根據(jù)上面的三種表,寫出完成如下查詢功能的SQL3. (1)查詢?nèi)w學(xué)生的姓名、出生年份和所在的院系,要求用小寫字母表示所有系名 (2)查詢選修了課程的學(xué)生學(xué)號 23歲)之間的學(xué)生的姓名、系別、年齡歲(包括20歲和查詢年齡在(3)2023 )學(xué)生的姓名和性別MA)和信息系(IS(4) 查詢計算機科學(xué)系(CS)、數(shù)學(xué)系( i個字符為的課程的詳細(xì)情況(5) 查詢以“DB_”開頭,且倒數(shù)第3查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系的系號升序排列,同一系中的學(xué)生按年齡降序(6) 排列 號課程的學(xué)生最高分?jǐn)?shù)、最低分?jǐn)?shù)、平均分?jǐn)?shù)查詢選修(7) 1 門課程的學(xué)生學(xué)號

6、查詢選修了3(8) (9) 查詢每一門課的間接先修課(即先修課的先修課) 90號課程且成績大于等于分的所有學(xué)生2(10) 查詢選修 查詢與劉晨在同一個系學(xué)習(xí)的學(xué)生(11) 精選資料,歡迎下載 。(12) 查詢其他系中比計算機科學(xué)系所有學(xué)生年齡都小的學(xué)生姓名及年齡 (13) 將一個新學(xué)生元組(學(xué)號:200215128;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中 (14) 將學(xué)生200215121的年齡改為22歲 (15) 刪除學(xué)號為200215128的學(xué)生記錄 (16) 建立信息系學(xué)生的視圖 (17) 在信息系學(xué)生的視圖中找出年齡小于20歲的學(xué)生 (18) 的學(xué)生

7、姓名改為“劉辰”200215122is_Student中學(xué)號為將信息系學(xué)生視圖 四 實驗報告 4.1 實驗環(huán)境: Windows XP Microsoft SQL server Management Studio 2005 4.2 實驗內(nèi)容與完成情況: (1) 查詢?nèi)w學(xué)生的姓名、出生年份和所在的院系,要求用小寫字母表示所有系名 SELECT Sname NAME,Year of Birth: BIRTH,2004-Sage BIRTHDAY,LOWER(Sdept) DEPARTMENT FROM Student; (2)查詢選修了課程的學(xué)生學(xué)號 SELECT DISTINCT Sno FR

8、OM SC; (3)查詢年齡在2023歲(包括20歲和23歲)之間的學(xué)生的姓名、系別、年齡 SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23; (4)查詢計算機科學(xué)系(CS)、數(shù)學(xué)系(MA)和信息系(IS)學(xué)生的姓名和性別 SELECT Sname,Ssex FROM Student WHERE Sdept IN(CS,MA,IS); (5)查詢以“DB_”開頭,且倒數(shù)第3個字符為i的課程的詳細(xì)情況 精選資料,歡迎下載 。SELECT * FROM Course WHERE Cname LIKE DB_%_ESC

9、APE; 查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系的系號升序排列,同一系中的學(xué)生按年齡降序排列(6) SELECT * FROM Student ORDER BY Sdept,Sage DESC; 1號課程的學(xué)生最高分?jǐn)?shù)、最低分?jǐn)?shù)、平均分?jǐn)?shù)(7)查詢選修 SELECT MAX(Grade) MAX,MIN(Grade) MIN,AVG(Grade) AVG FROM SC WHERE Cno=1; 3門課程的學(xué)生學(xué)號(8)查詢選修了 SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*)3; 查詢每個學(xué)生及其選修課程的情況 )(8)SELECT Student

10、.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student,SC WHERE Student.Sno=SC.Sno; 查詢每一門課的間接先修課(即先修課的先修課)(9)SELECT first.Cno,second.Cpno FROM Course first,Course second WHERE first.Cpno=second.Cno; 查詢每一門課的間接先修課(即先修課的先修課)(消除有空的行)SELECT first.Cno,second.Cpno FROM Course first,Course second WHERE first.Cpn

11、o=second.Cno and second.Cpno is not null; 分的所有學(xué)生2號課程且成績大于等于90(10) 查詢選修Student.Sno=SC.Sno where from Sdept Student ,SC Student.Sno,Sname,Ssex,Sage, select and Cno=2 and Grade=90; select Sno,Sname,Ssex,Sage, Sdept from Student where Sno=(select Sno from Sc where Cno=2 and grade =90); 精選資料,歡迎下載 。 查詢與劉晨

12、在同一個系學(xué)習(xí)的學(xué)生(11) select Sno,Sname,Sdept from Student where Sdept in (select Sdept from Student where ); 劉晨Sname=and S1.Sdept=s2.Sdept S2 where select S1.Sno,S1.Sname,S1.sdept from Student S1,student ; 劉晨S2.Sname=select Sno,Sname ,Sdept from Student where Sdept =(select Sdept from student where ); Snam

13、e=劉晨select Sno,Sname,Sdept from Student S1 where exists (select * from Student S2 where ); S2.Sdept=S1.Sdept and S2.Sname =劉晨 (12)查詢其他系中比計算機科學(xué)系所有學(xué)生年齡都小的學(xué)生姓名及年齡select Sname ,Sage from Student where Sage CS; select Sname ,Sage from Student where Sage CS; ;年齡:;姓名:陳冬;性別:男;所在系:200215128IS(13)將一個新學(xué)生元組(學(xué)號:

14、 Student表中18歲)插入到insert into Student(Sno,Sname,Ssex,Sdept,Sage) ,IS,18); 男values (200215128,陳冬,select * from Student; 歲200215121)將學(xué)生的年齡改為2214(update Student set Sage =22 where Sno=200215121; select * from Student; 精選資料,歡迎下載 。(15)刪除學(xué)號為200215128的學(xué)生記錄 delete from Student where Sno=200215128; select * f

15、rom Student; (16)建立信息系學(xué)生的視圖 create view is_Student as select Sno,Sname,Sage from Student where Sdept=IS; (17)在信息系學(xué)生的視圖中找出年齡小于20歲的學(xué)生 select Sno,Sage from is_Student where Sage20 ; (18)將信息系學(xué)生視圖is_Student中學(xué)號為200215122的學(xué)生姓名改為“劉辰” update is_Student set Sname=劉辰 where Sno=200215122; select * from is_Stude

16、nt; (19)刪除信息系學(xué)生視圖is_Student中學(xué)號為200215125的記錄 delete from is_Student where Sno=200215125; select * from is_Student; 4.3 出現(xiàn)的問題: 在寫第(9)個查詢功能的時候用 select first.Cno,second.Cpno from Course first,Course second where first.Cpno=second.Cno; 這句SQL語句輸出的結(jié)果中有的課程沒有先修課。4.4 解決方案(列出遇到的問題和解決辦法,列出沒有解決的問題): 原因:沒有排除掉那些沒有先修課的課程,所以查詢結(jié)果中會有空值。解決方案:這樣寫就會把沒有先修課的課程給排除掉。 精選資料,歡迎下載 。select first.Cno,second.

溫馨提示

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

最新文檔

評論

0/150

提交評論