【實驗內(nèi)容】
1.指定列或者全部列查詢
2.按條件查詢及模糊查詢
3.對查詢結(jié)果排序
4.使用聚焦函數(shù)查詢
5.分組統(tǒng)計查詢
【實驗步驟】
1.指定列或者全部列查詢
(1)查詢S表中全體學生的詳細記錄
USE xhjk
GO
SELECT *FROM S
GO
image.png
(2)查詢所有學生的姓名及其出生年份
USE xhjk
GO
SELECT SN,YEAR(GETDATE())-AGE AS 出生年份 FROM S
GO
image.png
2.按條件查詢及模糊查詢
(1)查詢考試不及格的學生學號
USE xhjk
GO
SELECT DISTINCT SNO FROM SC
WHERE SCORE<60
GO
image.png
(2)查詢年齡在20~23歲的學生姓名吊说、系號洞豁、年齡
USE xhjk
GO
SELECT SN,DEPT,AGE FROM S
WHERE AGE BETWEEN 19 AND 20
GO
image.png
(3)查詢姓李的學生的姓名、學號和性別
USE xhjk
GO
SELECT SN,SNO,SEX FROM S
WHERE SN LIKE '李%'
GO
image.png
(4)查詢名字中第二個字為“三”的男學生的姓名和系號
USE xhjk
GO
SELECT SN AS 姓名,DEPT AS 系號 FROM S
WHERE SN LIKE '_三%'AND SEX='男'
GO
image.png
3.對查詢結(jié)果排序
(1)查詢信息系、計算機系學生的姓名贯吓、系號,結(jié)果按系名升序排序砰左,姓名按降序排序
USE xhjk
GO
SELECT SN AS 姓名,DEPT AS 系號 FROM S
WHERE DEPT IN('信息','計算機')
ORDER BY DEPT,SN DESC
GO
image.png
(2)查詢所有有課程號C2的學生的學號衫画、課程號和成績,并按成績降序排序
USE xhjk
GO
SELECT SNO AS 姓名,CNO AS 課號,SCORE AS 成績 FROM SC
WHERE CNO='C2' AND SCORE IS NOT NULL
ORDER BY SCORE DESC
GO
image.png
4.使用聚焦函數(shù)查詢
(1)查詢計算機系學生總?cè)藬?shù)
USE xhjk
GO
SELECT COUNT(*) AS 計算機系人數(shù) FROM S
WHERE DEPT='計算機'
GO
image.png
(2)查詢選高數(shù)課程的學生人數(shù)卵牍、平均分果港、最高分數(shù)
USE xhjk
GO
SELECT COUNT(*) AS 人數(shù),AVG(SCORE)AS 平均分數(shù),MAX(SCORE)AS 最高分數(shù) FROM C,SC
WHERE CN='高數(shù)'AND C.CNO=SC.CNO
GO
image.png
5.分組統(tǒng)計查詢
(1)查詢各個課程號及其相應的選課人數(shù)
USE xhjk
GO
SELECT CNO AS 課程號,COUNT(SNO) AS 人數(shù) FROM SC
GROUP BY CNO
GO
image.png
(2)查詢選修兩門以上課程的學生姓名和平均成績
USE xhjk
GO
SELECT SN AS 姓名,AVG(SCORE) AS 平均成績 FROM SC,S
WHERE S.SNO=SC.SNO
GROUP BY S.SN HAVING COUNT( * )>2
GO
image.png