MySQLでは、EXISTSおよびNOT EXISTSキーワードをどのように使用しますか?
MySQLでは、サブクエリが行を返すかどうかを判定するために EXISTS と NOT EXISTS キーワードを使用できます。
使用存在キーワード:
SELECT column1, column2
FROM table1
WHERE EXISTS (
SELECT *
FROM table2
WHERE table1.column = table2.column
);
上記のクエリは、table2にある列とtable1に一致する行を持つtable1の行を返します。
使用しているものが存在しない場合:
SELECT column1, column2
FROM table1
WHERE NOT EXISTS (
SELECT *
FROM table2
WHERE table1.column = table2.column
);
table1の条件を満たす行を返す検索は、table2内でtable1の列と一致しない行を返します。