问题描述
我目前正在努力确定所有部门都有哪些职位。给定的表是这个。
我感觉这其实很简单,但是我不知道怎么做。
问题基本上是,只应返回作业“CLERK”和“MANAGER”,因为它们存在于每个部门(例如部门 10、20 和 30)中。如果仔细观察,您会发现,例如,“PRESIDENT”仅存在于第 10 部门。
重要:我使用的是 Postgresql
解决方法
您可以使用聚合和having
:
select job
from t
group by job
having count(distinct deptno) = (select count(distinct deptno) from t);