サブクエリの最も一般的は使用法は、次の形式のものです。
<non-subquery operand> <comparison operator> (<subquery>)
<comparison operator> には、次のいずれかを指定します。
= > < >= <= <>
次に例を示します。
... 'a' = (SELECT column1 FROM t1)
以前は、サブクエリを配置する正しい位置は比較の右側に限られていました。一部の古い DBMS で、今でもこの制約が適用されていることがあります。
次に示すのは、結合では処理できない、一般的な形式のサブクエリを使用した比較の例です。この例では、テーブル
t2
の最大値と等しいすべての値がテーブル
t1
で検索されます。
SELECT column1 FROM t1 WHERE column1 = (SELECT MAX(column2) FROM t2);
もう 1 つ例を示します。テーブルの 1
つに対する集約が含まれているため、この場合も結合では処理できません。この例では、2
回出現する値を持つすべてのレコードがテーブル
t1
で検索されます。
SELECT * FROM t1 WHERE 2 = (SELECT COUNT(column1) FROM t1);
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.