SQLで異なるテーブル間でのデータ結合をマスターする方法

この記事では、SQLで異なるテーブル間でのデータの結合方法について解説します。INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, CROSS JOINといった結合方法を具体的なデータテーブルと一緒に学びましょう。

目次

SQLにおけるデータ結合とは

データベースにおいて、1つのテーブルだけではなく、複数のテーブルを使って情報を得たい場合があります。このような場合に役立つのが「データの結合」です。

データ結合の種類

SQLにおいては、主に以下の5種類のデータ結合があります。

  • INNER JOIN
  • LEFT JOIN (または LEFT OUTER JOIN)
  • RIGHT JOIN (または RIGHT OUTER JOIN)
  • FULL OUTER JOIN
  • CROSS JOIN

INNER JOINの基本

INNER JOINは、2つのテーブルに存在するマッチするデータだけを結合します。

基本構文

SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;

具体的な例

2つのテーブル「employees」と「departments」があるとします。

employees
IDNameDept_ID
1Alice101
2Bob102
3Charlie103
employeesテーブル
departments
Dept_IDDept_Name
101HR
102Engineering
103Sales
departmentsテーブル

以下のSQL文で、employeesの各行をdepartmentsと結合できます。

SELECT employees.Name, departments.Dept_Name
FROM employees
INNER JOIN departments ON employees.Dept_ID = departments.Dept_ID;

LEFT JOINとRIGHT JOIN

LEFT JOINは、左のテーブルのすべてのレコードと右のテーブルのマッチするレコードを結合します。RIGHT JOINはその逆です。

LEFT JOINの基本構文

SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;

RIGHT JOINの基本構文

SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;

FULL OUTER JOINとCROSS JOIN

FULL OUTER JOINは、マッチしないレコードも含めて2つのテーブルを結合します。CROSS JOINはすべての可能な組み合わせで結合します。

FULL OUTER JOINの基本構文

SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column = table2.column;

CROSS JOINの基本構文

SELECT columns
FROM table1
CROSS JOIN table2;

まとめ

SQLでのデータ結合は非常に重要なスキルです。特に大規模なデータベースを操作する場合、異なるテーブル間での情報の結合が必要となることが多いです。この記事で紹介した結合方法をマスターすることで、より複雑なデータ操作が可能となります。

コメント

コメントする

目次