数据库查询语言(DML)练习:score成绩表查询

需积分: 37 5 下载量 150 浏览量 更新于2024-08-23 收藏 261KB PPT 举报
本资源是一份关于数据库查询语言(DML)练习的资料,主要涉及SQL语句的应用。其中提供了4个数据表:student(学生信息表),teacher(老师信息表),course(课程表),以及score(成绩表)。每个表包含特定的列,如student表包括学生学号sno、姓名sname、性别sex、出生日期birthday和班级class等。score表则记录了学生的课程号cno、成绩degree。练习中包含了多个SQL查询任务,旨在检验对数据表的操作能力,如查询特定列、去重、排序、聚合函数应用等。 以下是根据提供的练习内容生成的相关知识点: 1. 查询特定列:使用SELECT语句可以查询表中的指定列。例如,查询student表中所有记录的sname、sex和class列,语句为:`SELECT sname, sex, class FROM student;` 2. 去重查询:使用DISTINCT关键字去除重复项。显示教师不重复的depart列,语句为:`SELECT DISTINCT depart FROM teacher;` 3. 显示全部记录:不使用任何筛选条件时,SELECT语句会显示表中的所有记录。例如,显示student表的所有记录:`SELECT * FROM student;` 4. 范围查询:利用BETWEEN操作符可查询某个范围内的数据。查询score表中成绩在60到80之间的记录,语句为:`SELECT * FROM score WHERE degree BETWEEN 60 AND 80;` 5. IN操作符:查询满足多个特定值之一的记录。显示成绩为85、86或88的score表记录,语句为:`SELECT * FROM score WHERE degree IN (85, 86, 88);` 6. 逻辑运算符OR:使用OR连接两个条件。显示"95031"班或性别为"女"的student表记录,语句为:`SELECT * FROM student WHERE class = '95031' OR sex = '女';` 7. ORDER BY语句:对查询结果进行排序。以class降序显示student表的所有记录,语句为:`SELECT * FROM student ORDER BY class DESC;` 8. 多列排序:可以同时对多个列进行排序。以cno升序、degree降序显示score表记录,语句为:`SELECT * FROM score ORDER BY cno ASC, degree DESC;` 9. COUNT函数:统计特定列的行数,显示"98031"班的学生人数,语句为:`SELECT COUNT(*) FROM student WHERE class = '98031';` 10. MAX函数:查找最大值。显示score表中的最高分的学生学号和课程号,语句为:`SELECT sno, cno FROM score WHERE degree = (SELECT MAX(degree) FROM score);` 11. AVG函数:计算平均值。显示"3-105"号课程的平均分,语句为:`SELECT AVG(degree) FROM score WHERE cno = '3-105';` 12. HAVING子句与聚合函数:在分组后筛选满足条件的行。显示score表中至少有5名学生选修的并以3开头的课程号的平均分数,语句为: ```sql SELECT cno, AVG(degree) FROM score GROUP BY cno HAVING cno LIKE '3%' AND COUNT(*) >= 5; ``` 13. 子查询:嵌套查询用于获取满足特定条件的值。显示最低分大于70,最高分小于90的sno列,语句为: ```sql SELECT sno FROM score WHERE degree IN ( SELECT sno FROM score GROUP BY sno HAVING MIN(degree) > 70 AND MAX(degree) < 90 ); ``` 14. 完整列显示:显示所有学生的sname、cno和degree列,语句为:`SELECT sname, cno, degree FROM score;` 15. 全表查询:无条件地显示所有列。显示所有学生的sname、cname和degree,由于cname不在提供的表中,假设是score表的错误,应是cno,语句为:`SELECT sname, cno, degree FROM score;` 以上就是针对所给练习内容的SQL查询语句及其相关知识点的详细说明。通过这些练习,可以加深对SQL语言的理解,掌握数据查询、过滤、排序和聚合等基本操作。