【发布时间】:2023-03-31 04:32:01
【问题描述】:
我需要编写一个 SQL 查询来查找教授每门学科的教师(即 Sam)
- 使用嵌套查询
- 不使用聚合函数(无计数、平均值、最小值等)。
我似乎无法弄清楚,非常感谢一些帮助 =)
教师
| fid | fname | fqualifications | fexperience | salary | deptname |
|---|---|---|---|---|---|
| 100 | Sam | ME CS | 10 | 100000 | IT |
| 101 | John | ME IT | 8 | 80000 | IT |
| 102 | Max | ME CS | 9 | 90000 | CS |
| 103 | Jenny | ME CS | 5 | 50000 | CS |
课程
| cid | cname | semester |
|---|---|---|
| 1 | SE | 4 |
| 2 | WT | 4 |
| 3 | CG | 5 |
| 4 | DBMS | 5 |
教导
| fid | cid | year |
|---|---|---|
| 100 | 1 | 2019 |
| 100 | 2 | 2018 |
| 100 | 3 | 2020 |
| 100 | 4 | 2021 |
| 101 | 1 | 2017 |
| 101 | 2 | 2018 |
| 102 | 2 | 2018 |
| 102 | 3 | 2019 |
| 103 | 3 | 2020 |
| 103 | 4 | 2021 |
我使用此查询查找输出,但根据问题我不能。
select * from faculty f
-> inner join teaches t
-> on f.fid=t.fid
-> inner join course c
-> on t.cid=c.cid
-> group by f.fid,f.fname
-> having count(*)=4;
输出:
| fid | fname | fqualifications | fexperience | salary | deptname | fid | cid | year | cid | cname | semester |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 100 | Sam | ME CS | 10 | 100000 | IT | 100 | 1 | 2019 | 1 | SE | 4 |
【问题讨论】:
标签: sql database aggregate-functions nested-query