サブクエリは多くの場面で役立ちます。例えば、以下のようなことができます:
- フィルタリング: サブクエリを使用して、特定の条件を満たす行のみを取得することができます。例えば、商品テーブルから価格が最も高い商品を取得する場合、以下のようなクエリを使用できます:
SELECT *
FROM products
WHERE price = (SELECT MAX(price) FROM products);
- 結果の計算: サブクエリを使用して、外側のクエリの結果に基づいて計算を行うことができます。例えば、注文テーブルから各顧客の合計注文金額を取得する場合、以下のようなクエリを使用できます:
SELECT customer_id, (SELECT SUM(amount) FROM orders WHERE orders.customer_id = customers.customer_id) AS total_amount
FROM customers;
- サブクエリの結果をテーブルとして使用する: サブクエリの結果を一時的なテーブルとして扱い、それを他のクエリと結合することができます。例えば、商品テーブルから特定の価格帯の商品のみを取得する場合、以下のようなクエリを使用できます:
SELECT products.*
FROM products
INNER JOIN (SELECT product_id FROM products WHERE price BETWEEN 10 AND 20) AS subquery
ON products.product_id = subquery.product_id;
これらはSQLサブクエリの一部の例です。サブクエリは非常に柔軟で強力なツールであり、データベースクエリの応用範囲を広げることができます。