1)熟悉SQL Server 2005查询分析器环境。 2)掌握基本的SELECT查询及其相关子句的使用。 3)掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。
1)启动SQL Server 2005 查询分析器环境。 2)涉及多表的简单查询。 3)涉及多表的复杂查询。
1)在KC表中查询学分高于3的课程信息,并按课程号升序排列。
SELECT * FROM KC WHERE 学分>'3' ORDER BY 课程号 ASC2)在XS_KC表中按学号分组汇总学生的平均分,并按平均分的降序排列。
SELECT 学号,AVG(成绩) AS 平均分 FROM XS_KC GROUP BY 学号 ORDER BY 平均分 DESC3)在XS_KC表中查询选修了3门以下课程的学生学号。
SELECT 学号 FROM XS_KC GROUP BY 学号 HAVING(COUNT(*)<=3)4)按学号对不及格的成绩记录进行明细汇总。
SELECT 学号,成绩 FROM XS_KC WHERE(成绩<=60) ORDER BY 学号 DESC5)分别用嵌套查询和连接查询,求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.姓名7)查询XSQK表中所有的系名。
SELECT DISTINCT 所在系 FROM XSQK8)查询有多少同学选修了课程。
SELECT DISTINCT 学号 FROM XS_KC9)查询有多少同学没有选课。
SELECT 学号 FROM XSQK WHERE (NOT EXISTS(SELECT * FROM XS_KC WHERE XSQK.学号=XS_KC.学号 ))10)查询与杨颖同一个系的同学姓名。
SELECT 姓名,所在系 FROM XSQK WHERE 所在系=(SELECT 所在系 FROM XSQK WHERE 姓名='杨颖')11)查询选修了课程的学生的姓名、课程名与成绩。
SELECT 姓名,课程号,成绩 FROM XSQK,XS_KC WHERE (EXISTS(SELECT * FROM XS_KC WHERE XSQK.学号=XS_KC.学号 ))12)统计每门课程的选课人数和最高分。
SELECT 课程号,COUNT(课程号) AS 选课人数,MAX(成绩) AS 最高分 FROM XS_KC GROUP BY 课程号13)统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。
SELECT 学号,COUNT(课程号) AS 选课门数,SUM(成绩) AS 考试总成绩 FROM XS_KC GROUP BY 学号 ORDER BY 选课门数 DESC