sql multiple self join效率很高

时间:2018-02-22 00:05:12

标签: sql

我的桌子看起来像下面的那张桌子。我需要编写一个查询来查找所有源中存在的所有名称。在下面的例子中,这只是" john" &安培; "标记"

source  name
a       john
b       john
c       john
d       john
a       pat
b       pat
a       mark
b       mark
c       mark
d       mark

2 个答案:

答案 0 :(得分:1)

使用ALL语句,您可以获得预期的结果。像这样:

SELECT Name FROM dummy WHERE Source >= ALL (SELECT DISTINCT source FROM dummy);

查看实际操作:here

答案 1 :(得分:0)

一种方法使用计数:

select name
from t
group by name
having count(distinct source) = (select count(distinct t2.source) from t t2);