MySQLのジョイン 複数テーブルのデータ結合方法

2024/07/14
x-logoline-logo

MySQLのジョイン 複数テーブルのデータ結合方法

2024/07/14
x-logoline-logo
PR

今回はMySQLを使って、複数のテーブルのデータを結合する方法について学びましょう。これを「ジョイン(JOIN)」といいます。ジョインをマスターすると、データベースの力を十二分に引き出すことができます。

ジョイン(JOIN)とは?

ジョインは、複数のテーブルのデータを1つにまとめるSQL文の機能です。例えば、「ユーザー」と「注文」のテーブルを結合して、どのユーザーがどんな注文をしたのかを一覧で見ることができます。

ジョインの種類

ジョインにはいくつか種類がありますが、今回は基本的な3つのジョインについて説明します。

1. INNER JOIN(内部結合)

INNER JOINは、2つのテーブルの中で共通する部分だけを結合します。例えば、ユーザーテーブルと注文テーブルの共通するユーザーIDの部分だけを結合します。


SELECT * FROM ユーザー
INNER JOIN 注文 ON ユーザー.id = 注文.ユーザーID;

2. LEFT JOIN(左外部結合)

LEFT JOINは、左側のテーブルの全てのデータと、右側のテーブルの共通する部分を結合します。共通するデータがない場合、右側のテーブルはNULL(値なし)になります。


SELECT * FROM ユーザー
LEFT JOIN 注文 ON ユーザー.id = 注文.ユーザーID;

3. RIGHT JOIN(右外部結合)

RIGHT JOINは、右側のテーブルの全てのデータと、左側のテーブルの共通する部分を結合します。共通するデータがない場合、左側のテーブルはNULLになります。


SELECT * FROM 注文
RIGHT JOIN ユーザー ON 注文.ユーザーID = ユーザー.id;

ジョインを使う上でのポイント

ジョインを使うときに、以下のポイントを押さえておくと便利です。

1. テーブルのエイリアスを使う

長いテーブル名を書くのは面倒なので、短いエイリアスを使うとコードが見やすくなります。


SELECT * FROM ユーザー AS u
INNER JOIN 注文 AS o ON u.id = o.ユーザーID;

2. 必要なカラムだけを選択する

*(アスタリスク)を使うと全てのカラムを選んでしまいますが、必要なカラムだけを指定するとデータの取得が速くなりますし、見やすくもなります。


SELECT u.名前, o.商品名 FROM ユーザー AS u
INNER JOIN 注文 AS o ON u.id = o.ユーザーID;

以上でMySQLのジョインについての基本的な学習は完了です。これで、複数のテーブルのデータを簡単に結合できるようになりました。

この記事はAIを使用して作成されています。
PR