本书为《数据库系统概念》第六版的答案与实践习题解析册,旨在帮助读者深入理解数据库系统的原理和应用,通过丰富的练习提升实际操作能力。
数据库系统概念第六版答案(包括实践习题)例如3.11的答案:
Exercises:
- 用SQL编写以下查询,并使用university模式。
- 查找所有修过至少一门计算机科学课程的学生的名字;确保结果中没有重复名字。
- 找出尚未在2009年春季之前选课的所有学生的ID和姓名。由于except操作符会消除重复项,因此无需使用select distinct子句,尽管这样做不会影响查询的正确性。
- 对于每个系部,找出该部门所有教师的最大薪资;假设每个部门至少有一名教师。
答案:
- SQL 查询:`SELECT name FROM student NATURAL JOIN takes NATURAL JOIN course WHERE course.dept = Comp. Sci.`
- SQL 查询:`SELECT id, name FROM student EXCEPT SELECT id, name FROM student NATURAL JOIN takes WHERE year < 2009`
- SQL 查询:`SELECT dept, MAX(salary) FROM instructor GROUP BY dept`
对于最后一个查询,要找出所有部门的最大薪资中的最低值:
可以通过子查询来实现这一目标。具体SQL语句如下:
```sql
SELECT MIN(max_salary)
FROM (
SELECT MAX(salary) AS max_salary
FROM instructor
GROUP BY dept
);
```
这将返回各个系部最大薪资的最小值。