《大數(shù)據(jù)庫原理 單表格查詢 實驗資料報告材料》由會員分享,可在線閱讀,更多相關(guān)《大數(shù)據(jù)庫原理 單表格查詢 實驗資料報告材料(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、word
計算機科學(xué)與信息學(xué)院
軟件工程系上機實驗報告
《數(shù)據(jù)庫原理》實驗報告
題目
實驗3單表查詢
***
班級
***
日期
***
實驗環(huán)境:SQL Server 2000
實驗容與完成情況:
一、實驗?zāi)康?
本實驗的目的是使學(xué)生掌握SQL Server查詢分析器的使用方法,并熟練掌握單表查詢、數(shù)據(jù)排序、聚集函數(shù)。
二、實驗容
本實驗使用實驗二中建立的根本表Student、Course、SC和Teacher中的元組。
Student
學(xué) 號
Sno
姓 名
Sname
性 別
Ssex
年 齡
Sage
所在系
Sdep
2、t
200215121
勇
男
20
CS
200215122
晨
女
19
CS
200215123
王敏
女
18
MA
200215125
立
男
19
IS
200215126
歐陽麗
女
21
FL
Course
課程號
o
課程名
ame
先行課
Cpno
學(xué)分
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
PASCAL
6
4
8
DB_Design
1
3、
2
SC
學(xué)號
Sno
課程號
o
成績
Grade
200215121
1
92
200215121
2
85
200215121
3
88
200215122
2
90
200215122
3
80
200215122
1
200215123
2
50
200215123
3
70
Teacher
教師編號
Tno
教師
Tname
性 別
Tsex
年 齡
Tage
所在系
Tdept
職稱
Ttitles
工資
Twage
系主任
編號
Tdno
110001
鐘靈
4、
女
27
CS
講師
2800
110005
110002
毅
男
42
CS
副教授
3500
110005
110003
周倩
女
25
CS
講師
2800
110005
110005
文茂
男
48
CS
教授
4000
110005
120001
江南
男
30
IS
副教授
3500
120003
120002
洋
男
28
IS
講師
2800
120003
120003
汪明
男
44
IS
教授
4000
120003
120004
蕾
女
35
IS
副教
5、授
3500
120003
130001
鄒佳羽
女
25
MA
講師
2800
130003
130002
王力
男
30
MA
講師
2800
130003
130003
王小峰
男
35
MA
副教授
3500
130003
130004
昭
男
40
MA
副教授
3500
130003
140001
王力
男
32
FL
副教授
3500
140005
140002
小梅
女
27
FL
講師
2800
140005
140003
吳婭
女
27
FL
講師
2800
6、140005
140004
姝
女
35
FL
副教授
3500
140005
140005
周斌
男
44
FL
教授
4000
140005
在SQL Server2000查詢分析器中,完成如下查詢要求:
(1) 求全體學(xué)生的、性別和所在系。
SELECT Sname,Ssex,Sdept FROM Student;
(2) 求該校的所有系名。
SELECT DISTINCT Sdept FROM Student;
(3) 求計科系男生的學(xué)號和。
SELECT Sno,Sname FROM Student WHERE Ssex=’男
7、’ and Sdept=’CS’;
〔4〕 求年齡在19-21歲〔包含19歲和21歲〕之間的學(xué)生和所在系。
SLELCT Sno,Sdept FROM Student WHERE Sage BETWEEN 19 AND 21;
(5) 求存在先行課的課程的課程名和學(xué)分。
SELECT ame,Ccredit FROM Course WHERE Cpno IS not NULL;
(6) 求數(shù)學(xué)系或者信息系的學(xué)生。
SELECTSnameFROMStudentwhereSdeptin('MA','IS');
(7) 求以“數(shù)據(jù)〞開頭的所有課程的課
8、程名和學(xué)分。
SELECTame,CcreditFROMCourseWHEREameLIKE'數(shù)據(jù)%';
(8) 求課程DB_Design的學(xué)分。
SELECTCcreditFROMCourseWHEREameLIKE'DB_Design';
(9) 求缺考學(xué)生的學(xué)號和課程號。
SELECTSno,oFROMSCWHEREGradeISNULL;
(10) 求選修了2號課程學(xué)生的學(xué)號和成績。
SELECTSno,GradeFROMSCWHEREo='2';
(11) 求計科系教師的和工資。
SELECTTname,TwageFROMTeacherWHERETd
9、ept='CS';
(12) 求姓王的教師的和所在系。
SELECTTname,TaddressFROMTeacherWHERETnameLIKE'王%';
(13) 求工資在2500-3500之間的教師。
SELECTTname
FROMTeacher
whereTwageBETWEEN 2500 AND 3500;
(14) 求外語系所有副教授的和年齡。
SELECTTname,Tage
FROMTeacher
whereTdept='FL'ANDTtitlesLIKE'副教授';
(15) 求所有女教師的、年齡和所在系。
SELECTTname,T
10、age,Tdept
FROMTeacher
WHERETsex='女';
(16) 求學(xué)生的總?cè)藬?shù)。
SELECTCOUNT(*)as'學(xué)生總?cè)藬?shù)'
FROMStudent;
(17) 求選修了課程的學(xué)生人數(shù)。
SELECT o,COUNT(Sno)as'選修該課程的學(xué)生人數(shù)'
FROMSC
GROUP BY o ;
(18) 求課程號和選修了該課程的學(xué)生人數(shù)。
SELECTCOUNT(DISTINCTSno)as'選修課程的學(xué)生人數(shù)'
FROMSC;
(19) 求教師人數(shù)超過4人的系名。
SELECTTdeptas'教師人數(shù)超過4人的系'
F
11、ROMTeacher
GROUPBYTdept
HAVINGCOUNT(*)>4;
(20) 求學(xué)生的學(xué)號與其選修課程的總成績。
SELECTSno,sum(Grade)as'總成績'
FROMSC
GROUPBYSno;
(21) 求系名和各系教師的平均年齡。
SELECTTdept,AVG(Tage)as'平均年齡'
FROMTeacher
GROUPBYTdept;
(22) 求各門課程課程號和平均成績。
SELECTo,AVG(Grade)as'平均成績'
FROMSC
GROUPBYo;
(23) 求選修課程號為1的學(xué)號和成績,并要求對查
12、詢結(jié)果按成績的降序排列,學(xué)號的升序排列。
SELECTSno,Grade
FROMSC
WHEREo=1
ORDERBYGradeDESC,SNOASC;
(24) 求選修課程號為1且成績在80~95之間的學(xué)生學(xué)號和成績,并且成績乘以0.8輸出,將輸出的列名改成“學(xué)號〞和“成績*0.8〞。
SELECTSnoas'學(xué)號',Grade*0.8 as'成績*0.8'
FROMSC
WHEREo=1 ANDGradeBETWEEN 80 AND 95
ORDERBYGradeDESC,SNOASC;
〔25〕 求3號課程的最高分。
SELECTMAX(Grade)as'3號課程的最高分'
FROMSC
WHEREo=3 ;
三、出現(xiàn)的問題與其解決方案(列出遇到的問題和解決方法,列出沒有解決的問題)
問題1:在查詢計科系男生的學(xué)號和時,提示“’‘〞符號處有語法錯誤。
分析原因:應(yīng)該是受符號的中英文輸入影響;
解決方法:將英文的“’〞符號改為中文的“‘〞,問題解決。
8 / 8