SQLのJOINとサブクエリの使い方について


まず、JOIN操作について説明します。JOINは、2つ以上のテーブルを結合するための方法です。一般的なJOINの種類には、INNER JOIN、LEFT JOIN、RIGHT JOIN、およびFULL JOINがあります。

INNER JOINは、結合する2つのテーブルの共通の値のみを抽出します。例えば、顧客テーブルと注文テーブルがあり、共通の顧客ID列で結合する場合、INNER JOINを使用すると、両方のテーブルに存在する顧客IDのデータのみを取得できます。

LEFT JOINは、左側のテーブルのすべての行と、右側のテーブルとの共通の値を持つ行を結合します。また、右側のテーブルに対応する値がない場合は、NULL値が表示されます。

RIGHT JOINは、LEFT JOINの逆です。右側のテーブルのすべての行と、左側のテーブルとの共通の値を持つ行を結合します。

FULL JOINは、左側のテーブルと右側のテーブルのすべての行を結合します。共通の値がない場合は、NULL値が表示されます。

次に、サブクエリについて説明します。サブクエリは、別のクエリを含むクエリです。サブクエリを使用すると、より複雑な条件でデータを取得できます。

例えば、注文テーブルから特定の商品の注文数を取得する場合、サブクエリを使用して次のようなクエリを作成できます。

SELECT product_name, (SELECT COUNT(*) FROM orders WHERE product_id = p.product_id) AS order_count FROM products p;

このクエリでは、productsテーブルから商品名を取得し、サブクエリを使用してordersテーブルから該当商品の注文数を取得しています。