数据库第三章作业
第三章作业
3.1
a.
1 | SELECT title |
b.
1 | SELECT distinct ID |
c.
1 | SELECT MAX (salary) FROM instructor |
d.
1 | SELECT ID |
e.
1 | SELECT course_id, COUNT (DISTINCT ID) |
f.
1 | SELECT MAX (COUNT (DISTINCT ID)) |
g.
1 | SELECT course_id |
3.2
a.
1 | SELECT SUM (j.credits * k.points) |
b.
1 | SELECT SUM (j.credits * k.points) / SUM (j.credits) GPA |
c.
1 | SELECT i.ID, SUM (j.credits * k.points) / SUM (j.credits) GPA |
d.
1 | --有效,因为我在where谓词里面加了takes.grade is not null限定takes.grade不为空。 |
3.3
a.
1 | UPDATE instructor |
b.
1 | DELETE FROM course |
c.
1 | INSERT INTO instructor |
3.4
a.
1 | SELECT SUM (i.driver_id) |
b.
1 | DELETE FROM car |
3.5
a.
1 | SELECT ID, |
b.
1 | WITH student(ID, div) |
3.6
1 | SELECT dept_name |
3.7
1 | select p.a1 |
3.8
a.
1 | SELECT ID |
b.
1 | SELECT i.ID |
c.
1 | WITH Harrison_customer (ID) |
3.9
a.
1 | SELECT j.ID, j.person_name, j.city |
b.
1 | SELECT j.ID, j.person_name, j.city |
c.
1 | WITH work_for_First_Bank_corporation (ID) |
d.
1 | SELECT j.ID |
e.
1 | WITH SBC_city (city) |
f.
1 | WITH max_employee |
g.
1 | WITH FBC_avg_salary (avg_salary) |
3.10
a.
1 | UPDATE employee |
b.
1 | UPDATE works |
3.11
a.
1 | WITH Comp_course |
b.
1 | (SELECT DISTINCT i.ID, i.name |
c.
1 | SELECT dept_name, MAX (salary) |
d.
1 | SELECT MIN (MAX (salary)) |
3.12
a.
1 | INSERT INTO course |
b.
1 | INSERT INTO section |
c.
1 | INSERT INTO takes i |
d.
1 | DELETE FROM takes |
e.
1 | DELETE FROM course |
f.
1 | -- 先找takes中的course_id中的title有‘advanced’的,再删除 |
3.13
1 | CREATE TABLE person |
3.14
a.
1 | -- 先找到‘John Smith’拥有的所有车,再找这些车中出事故的车 |
b.
1 | UPDATE participated |
3.15
a.
1 | -- 先找到ID选的所有银行;再找所有有的银行;再找所有银行minus所选id的选择的所有银行 |
b.
1 | SELECT branch_name, SUM (amount) |
c.
1 | -- 先找到位于'Brooklyn'的所有银行的资产 |
3.16
a.
1 | SELECT i.ID, i.person_name |
b.
1 | -- 先找到雇员对应的管理者的住处 |
c.
1 | SELECT i.ID, i.person_name |
d.
1 | -- 先找到所有公司的总和salary |
3.17
a.
1 | UPDATE work |
b.
1 | UPDATE works |
c.
1 | DELETE FROM works |
3.18
1 | /* Formatted on 2024/4/8 13:27:10 (QP5 v5.256.13226.35538) */ |
3.21
a.
1 | SELECT i.memb_no, i.name |
b.
1 | -- 先找到由McGraw-Hill出版的所有书,再找到一个人借的所有书 |
c.
1 | SELECT k.pubicsher, i.memb_no, i.name |
d.
1 | SELECT (SELECT COUNT (*) FROM borrowed) / (SELECT COUNT (*) FROM MEMBER) |
3.22
1 | -- 利用想唯一的元素分组,看组内元素是否唯一即可 |
3.23
1 | SELECT dept_name |
3.24
1 | SELECT k.name, k.ID |
3.25
1 | SELECT dept_name |
3.26
1 | SELECT course_id, ID |
3.27
1 | SELECT ID |
3.28
1 | SELECT DISTINCT k.name, k.ID |
3.29
1 | -- 先找到选过至少5门music课的学生ID,再找学生 |
3.30
1 | -- 当instructor中某一个元组存在空值时,二者不一样。 |
3.31
1 | -- 先找到哪些给过A的老师ID |
3.32
1 | SELECT ID, name |
3.33
1 | SELECT DISTINCT i.course_id, i.title |
3.34
1 | SELECT i.course_id, |
3.35
1 | WITH course_diff_section (course_id, |


