共通SQL
INNER JOIN / LEFT JOIN
複数テーブルを結合して1つの結果として取得
解説
正規化された複数のテーブル同士を、共通するIDなどのキー列(外部キーと主キーなど)を仲介にして1つの大きな表として結びつける技術です。
内部結合と外部結合の違い
- INNER JOIN(内部結合): 両方のテーブルで結合キーが一致した行のみを取得します。どちらかにしか存在しないデータは除外されます。
- LEFT JOIN(左外部結合): 左側(FROM句)のテーブルの全行を必ず残し、右側に対応するデータがなければNULLとして結合します。「まだ一度も注文していない会員」などを探す際にも活用されます。
構文
SELECT * FROM 表A [INNER | LEFT] JOIN 表B ON 表A.キー = 表B.キー;
具体例
SELECT e.emp_name, d.dept_name FROM emps_test e LEFT JOIN depts_test d ON e.dept_id = d.dept_id;
この構文を実際に書いて試してみませんか?
SQLエディタを開く