例1: サブクエリを使用した単純なSELECT文
SELECT column1, column2
FROM table1
WHERE column1 IN (SELECT column1 FROM table2)
上記の例では、table1
からcolumn1
とcolumn2
の値を取得しています。しかし、column1
の値は、table2
の中の別のSELECT文を使ってフィルタリングされます。つまり、table2
の中のcolumn1
の値と一致する行だけが結果に表示されます。
例2: サブクエリを使用した集計関数の結果の取得
SELECT column1, (SELECT COUNT(*) FROM table2 WHERE table2.column1 = table1.column1) AS count
FROM table1
上記の例では、table1
からcolumn1
の値を取得しています。さらに、table2
内でtable1
の各行のcolumn1
と一致する行の数を取得しています。この値は、(SELECT COUNT(*) FROM table2 WHERE table2.column1 = table1.column1)
というサブクエリによって取得され、count
という別名で結果に表示されます。
これらは、サブクエリを使用してSELECT文の内部で別のSELECT文を実行する基本的な例です。さまざまな方法でサブクエリを使用することができ、より複雑なクエリを作成することもできます。詳細については、SQLのドキュメントやチュートリアルを参照してください。