【SQL】テーブルの結合 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOINの使い方

データベースの操作において、複数のテーブルから必要な情報を取得するために結合は欠かせません。SQLでは、さまざまな結合方法が提供されており、それぞれ異なる用途に適しています。この記事では、主要な結合方法であるINNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOINについて解説します。

INNER JOIN

INNER JOINは、結合条件を満たす行のみを返す結合方法です。両方のテーブルに共通する行だけが結果に含まれます。例えば、顧客テーブルと注文テーブルを結合して特定の顧客の注文情報を取得する場合などに使用されます。

SELECT *
FROM Customers
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

LEFT JOIN

LEFT JOINは、左側のテーブルのすべての行と、右側のテーブルの対応する行を結合します。右側のテーブルに対応する行がない場合、NULL値が返されます。例えば、すべての顧客とその注文情報を取得する場合に使用されます。

SELECT *
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

RIGHT JOIN

RIGHT JOINは、LEFT JOINの逆で、右側のテーブルのすべての行と、左側のテーブルの対応する行を結合します。左側のテーブルに対応する行がない場合、NULL値が返されます。特定の注文が顧客に紐付いているかを確認する場合に使用されます。

SELECT *
FROM Customers
RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

FULL JOIN

FULL JOINは、両方のテーブルのすべての行を結合します。結合条件を満たさない場合、NULL値が返されます。両方のテーブルのすべての情報を取得する場合に使用されます。

SELECT *
FROM Customers
FULL JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

まとめ

これらの結合方法を理解することで、効果的にデータを組み合わせて必要な情報を取得することができます。SQLを使用する際に、適切な結合方法を選択し、データの関係性を正確に理解することが重要です。