MySQLで片方にしか存在しないレコードを検索
テーブルを比較して、片方のテーブルにしか無いレコードを検索したい場合があります。
例えばtableAにはあって、tableBには無いレコードを指定したい場合、これは下記のSQLで可能です。
SELECT * FROM tableA WHERE NOT EXISTS ( SELECT * FROM tableB WHERE tableA.id = tableB.tableA_id );
not existsでtableBに存在せずtableAにしか存在しないレコードのみSELECTしています。
上のコードはtableAとtableBはidとtableA_idでリンクしている例です。
コメント