1)熟悉SQL Server 2005查询分析器环境。
2)掌握基本的SELECT查询及其相关子句的使用。
3)掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。
1)启动SQL Server 2005 查询分析器环境。
2)涉及多表的简单查询。
3)涉及多表的复杂查询。
1)在KC表中查询学分高于3的课程信息,并按课程号升序排列。
SELECT *
FROM KC
WHERE 学分>'3'
ORDER BY 课程号 ASC
2)在XS_KC表中按学号分组汇总学生的平均分,并按平均分的降序排列。
SELECT 学号,AVG(成绩) AS 平均分
FROM XS_KC
GROUP BY 学号
ORDER BY 平均分 DESC
SELECT 学号
FROM XS_KC
GROUP BY 学号 HAVING(COUNT(*)<=3)
SELECT 学号,成绩
FROM XS_KC
WHERE(成绩<=60)
ORDER BY 学号 DESC
5)分别用嵌套查询和连接查询,求107号课程不及格的学生信息。
SELECT XS_KC.学号,成绩,姓名,出生日期
FROM XS_KC,XSQK
WHERE XS_KC.学号=(SELECT 学号
FROM XS_KC
WHERE 课程号='107' AND 成绩<='60' )
6)用连接查询在XSQK表中查询住在同一寝室的学生,即其联系电话相同
SELECT Y.姓名,X.联系电话 AS 联系
FROM XSQK AS X,XSQK AS Y
WHERE X.联系电话=Y.联系电话 AND X.姓名!=Y.姓名
SELECT DISTINCT 所在系
FROM XSQK
SELECT DISTINCT 学号
FROM XS_KC
SELECT 学号
FROM XSQK
WHERE (NOT EXISTS(SELECT *
FROM XS_KC
WHERE XSQK.学号=XS_KC.学号 ))
SELECT 姓名,所在系
FROM XSQK
WHERE 所在系=(SELECT 所在系 FROM XSQK WHERE 姓名='杨颖')
SELECT 姓名,课程号,成绩
FROM XSQK,XS_KC
WHERE (EXISTS(SELECT *
FROM XS_KC
WHERE XSQK.学号=XS_KC.学号 ))
SELECT 课程号,COUNT(课程号) AS 选课人数,MAX(成绩) AS 最高分
FROM XS_KC
GROUP BY 课程号
13)统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。
SELECT 学号,COUNT(课程号) AS 选课门数,SUM(成绩) AS 考试总成绩
FROM XS_KC
GROUP BY 学号
ORDER BY 选课门数 DESC