1. ホーム
  2. sql

[解決済み】MySQLの "NOT IN "クエリ

2022-04-16 01:53:23

質問

のすべての行を表示する簡単なクエリを実行したいと思いました。 Table1 主カラムの値が別のテーブルのカラムに存在しない場合 ( Table2 ).

を使ってみました。

SELECT * FROM Table1 WHERE Table1.principal NOT IN Table2.principal

これは、代わりにシンタックスエラーを投げています。Google で検索すると、MySQL では NOT IN で、非常に複雑なものを使用する必要があります。これは本当でしょうか?それとも、私がとんでもない間違いを犯しているのでしょうか?

どのように解決するのですか?

INを使用するには、セットが必要です。代わりに、この構文を使用してください。

SELECT * FROM Table1 WHERE Table1.principal NOT IN (SELECT principal FROM table2)