获取适用于所有部门 SQL 的职位名称

问题描述

我目前正在努力确定所有部门都有哪些职位。给定的表是这个。

enter image description here

我感觉这其实很简单,但是我不知道怎么做。

问题基本上是,只应返回作业“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);