Table1
主要な列の値が別のテーブル ( ) の列に存在しないすべての行を表示する簡単なクエリを実行したいと考えましたTable2
。
私が使ってみたもの:
SELECT * FROM Table1 WHERE Table1.principal NOT IN Table2.principal
代わりに、構文エラーが発生します。Google 検索で、MySQL ではサポートされていないため、非常に複雑なものを使用する必要があると言っているフォーラムにたどり着きました。NOT IN
これは本当でしょうか。それとも、私がひどい間違いを犯しているのでしょうか。
ベストアンサー1
IN を使用するにはセットが必要です。代わりに次の構文を使用します。
SELECT * FROM Table1 WHERE Table1.principal NOT IN (SELECT principal FROM table2)