[SQL] 12-3. SQL LEFT JOIN & RIGHT JOIN


LEFTJOINコマンドは、SQL構文で最初に指定したテーブル(左のテーブルのすべての値)と一致するすべてのデータをクエリーします.これらの値は、右のテーブルのカラム値と一致します.右側のテーブルに一致するデータがない場合はNULLを返します.
SELECT <칼럼> FROM <테이블 1> LEFT JOIN <테이블 2> ON <테이블 1. 칼럼> = <테이블 2. 칼럼>
基本文法は以下の通りです.
次に、Customersテーブルのid値とtransactionsテーブルのid値が一致するデータから、LEFTJOINを使用してCustomersテーブルからtransactionsテーブルを問合せ、customerのnameコラムとtransactionsidコラム、traction dateコラムを表示します.
SELECT customers.name, transactions.id as transaction_id, transactions.transaction_date FROM customers LEFT JOIN transactions ON customers.id = transactions.customer_id;

クライアント・テーブルのすべてのデータが、クライアント・テーブルのid値とトランザクション・テーブルのid値と一致するトランザクション・テーブルの値にクエリーされていることがわかります.
逆に、RIGHT JOINは、最初に指定したテーブル(すなわち、右側のテーブルのすべての値の左側のテーブル列値)と一致するすべてのデータをクエリーします.左のテーブルに一致するデータがない場合はNULLを返します.
上記のSQL文では、LEFT JOINをRIGHT JOINで置き換えます.
SELECT customers.name, transactions.id as transaction_id, transactions.transaction_date FROM customers RIGHT JOIN transactions ON customers.id = transactions.customer_id;

LEFTJOINとは異なり、取引テーブルを条件として使用できます.取引テーブルのすべての値と顧客データには、顧客テーブルのid値と取引テーブルのid値が一致するデータが表示されます.