查询连接3列

时间:2015-02-06 22:07:23

标签: sql postgresql

我为不知道我正在尝试做什么的正确术语而道歉。我无法粘贴确切的代码,因为我有一个气隙,我的工作系统不在互联网上,所以我会在这里伪代码。

我有两个表,让我们称它们为TopDogs和BottomDogs。我需要一个返回TopDogs结果的查询,这些结果与Bottom Dogs的3列不匹配。让我们说TopDogs有A,B,C,D,E,F和G列.BottomDogs有A,B,C,M,Q,R,S

我需要一个查询,它将返回与BottomDogs A,B和C不匹配的所有TopDogs行的列表。

1 个答案:

答案 0 :(得分:1)

您可以使用not exists运算符:

SELECT *
FROM   TopDogs td
WHERE  NOT EXISTS (SELECT *
                   FROM   BottomDogs bd
                   WHERE  td.a = bd.a AND td.b = bd.b AND td.c = bd.c)