Let's say I have two identical tables, A and B, with the row "x".
I want to select all elements in A, where the value of x in A is not in any value of x of B.
How do I do that?
Let's say I have two identical tables, A and B, with the row "x".
I want to select all elements in A, where the value of x in A is not in any value of x of B.
How do I do that?
次のようなこともできます。
SELECT * FROM TableA
LEFT JOIN TableB on TableA.X = TableB.X
WHERE TableB.X IS NULL
(質問の非常に簡単な例では、NOT EXISTS
/NOT IN
アプローチがおそらく望ましいですが、実際のクエリはより複雑です。これは検討したいオプションです。一致しているが、一致していない場所も知りたい)
select *
from TableA
except
select *
from TableB
何が必要なのか理解に苦しむ。
とにかくこれを試してください:
SELECT * FROM tableA
WHERE x not IN (SELECT x 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)