假设我有两个相同的表,A 和 B,行“x”。
我想选择A中的所有元素,其中A中x的值不在B的任何x值中。
我怎么做?
你也可以这样做:
SELECT * FROM TableA
LEFT JOIN TableB on TableA.X = TableB.X
WHERE TableB.X IS NULL
(对于您问题中非常简单的示例,NOT EXISTS
/NOT IN
方法可能更可取,但是您的实际查询是否更复杂,这是您可能要考虑的选项;例如,如果您想要来自 TableB 的 som 信息一场比赛,但也想知道哪里没有比赛)
我很难理解你需要什么。
无论如何试试这个:
SELECT * FROM tableA
WHERE x not IN (SELECT x FROM tableB)
select *
from TableA
except
select *
from TableB
最快的是左连接
SELECT * FROM A LEFT JOIN B ON A.X = B.X WHERE B.X IS NULL
用它 :
select * from a where x not in (select x from b)