SQLにおいて、単一のクエリだけでは対応しきれない複雑な問題に遭遇したことはありませんか?そのような場合、相関サブクエリが有用です。本記事では、相関サブクエリを用いたレポート生成の方法について解説します。具体的なSQLコード例とその解説を交えながら、初心者から中級者までの方が理解できるように構成しています。
目次
相関サブクエリとは?
相関サブクエリは、外部のクエリに依存するサブクエリの一種です。通常のサブクエリが独立して値を返すのに対し、相関サブクエリは外部クエリの各行に対して異なる結果を返します。
相関サブクエリの基本構文
SQLで相関サブクエリを書く際の基本構文は以下のようになります。
SELECT column1, column2
FROM table1
WHERE column1 = (SELECT column1 FROM table2 WHERE table2.column2 = table1.column2);
相関サブクエリの活用例
以下に、相関サブクエリを用いた具体的な活用例をいくつか示します。
在庫管理
在庫管理において、各商品の最新の在庫数を取得したい場合があります。以下の例では、`products`テーブルと`inventory_logs`テーブルを使用しています。
SELECT p.product_name,
(SELECT TOP 1 il.inventory_count
FROM inventory_logs il
WHERE il.product_id = p.product_id
ORDER BY il.log_date DESC) AS latest_inventory
FROM products p;
product_name | latest_inventory |
---|---|
Apple | 120 |
Banana | 80 |
販売ランキング
特定の期間内で最もよく売れた商品を調べたい場合も、相関サブクエリを活用できます。
SELECT p.product_name,
(SELECT SUM(o.quantity)
FROM orders o
WHERE o.product_id = p.product_id
AND o.order_date BETWEEN '2021-01-01' AND '2021-12-31') AS total_sold
FROM products p
ORDER BY total_sold DESC;
product_name | total_sold |
---|---|
Apple | 5000 |
Banana | 4000 |
まとめ
相関サブクエリは、単一のSQLクエリだけでは解決しきれない複雑な問題に対する強力な手段です。在庫管理や販売ランキングなど、実際のビジネスでよく遭遇する問題に対しても効率よく解決できます。本記事を通じて、相関サブクエリの基本構文と活用例について理解が深まったことでしょう。
created by Rinker
¥4,554
(2024/11/22 10:55:01時点 Amazon調べ-詳細)
コメント