技術資料

INNER JOINとLEFT JOINの違いを理解する

作成日:2023.04.09

SQLでのテーブル結合には、主にINNER JOINとLEFT JOINがありますが、これらの違いを理解することは重要です。この記事では、二つのテーブルを使用して、それぞれの結合方法を実行した結果を比較し、INNER JOINがどうデータをフィルタリングし、LEFT JOINがどう欠損データも取得するかを解説します。

error この記事は最終更新日から1年以上が経過しています。

テーブル結合 inner joinleft join の性質の違い。

以下の二つのテーブルがあるとする。

user_table
user_id name
1 Tatsuya
2 Nanaka
3 Homura
favorite_table
user_id favorite
1 珈琲
1 チョコ
2 緑茶

上記二つのテーブルを inner join した場合、

select user_table.user_id,user_table.name,favorite_table.favorite from user_table inner join user_table.user_id = favorite_table.user_id;

実行結果は以下のようになる。

user_id name favorite
1 Tatsuya 珈琲
1 Tatsuya チョコ
2 Nanaka 緑茶

つまり、 favorite_table にデータの存在しない user_id = 3 の値は取得しない。

一方、 left join の場合、

select user_table.user_id,user_table.name,favorite_table.favorite from user_table left join user_table.user_id = favorite_table.user_id;

実行結果は以下。

user_id name favorite
1 Tatsuya 珈琲
1 Tatsuya チョコ
2 Nanaka 緑茶
3 Homura  

こちらの場合は、 favorite_table にデータの存在しない user_id = 3 の値も取得できる。

MySQLのUPDATE文を使ったカラム値の一括置換

2025.02.06

MySQLで特定のカラム内の文字列を簡単に置換する方法を紹介します。この記事では、UPDATE文とREPLACE関数を組み合わせて、効率的にデータを更新する方法を解説します。

MySQL

MySQLで新規カラムに既存データを一括登録する方法

2025.02.03

MySQLのUPDATE文を活用し、テーブルの新規カラム「更新日」に既存データ「作成日」を効率的に反映する手法を解説します。

MySQL

PHPとOpenAI APIで簡単なチャットシステムのコードを書いてみた

2023.04.13

PHPとOpenAI APIを使ってチャットボットを作成し、ユーザーとAIが対話できる基本的なプログラムを紹介します。サーバーに保存したチャット履歴を基に、APIから取得したレスポンスをデータベースに記録し、チャット形式で対話を進めていくサンプルコードを用意しました。

MySQL OpenAI API PHP

PHPでMySQLに接続してデータを取得する基本テンプレ

2023.04.11

PHPでMySQLに接続し、データを取得する基本的な手順のテンプレ。mysqli拡張を使用したデータベース接続から、SQLクエリ実行、結果の取得までの処理を掲載しています。

MySQL PHP

阿部辰也へのお仕事の依頼・お問い合わせ

お名前 *必須
会社名
メールアドレス *必須
電話番号
URL
お問い合わせのきっかけ
お問い合わせの内容 *必須
個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP