左外部結合

作成:2023-04-27 02:49
更新:2023-04-27 02:49
概要
「左外部結合」について説明したページです。「左外部結合」は、SQL文で二つのテーブルを結合する方法の一つで、左側のテーブルの全レコードと、右側のテーブルの一致レコードを選択する方法です。

用語

「左外部結合」(LEFT JOIN句、LEFT OUTER JOIN句)についての説明です。

student
生徒

左外部結合ってどういうことですか?

teacher
先生

左外部結合は、SQL文で二つのテーブルを結合する方法の一つです。左側のテーブルの全てのレコードと、右側のテーブルの一致するレコードが選択されます。一致しない場合は、右側のテーブルの値はNULLになります。

student
生徒

それって、実際にどういう使い方があるんですか?

teacher
先生

例えば、社員の情報を全て管理しているemployeeテーブルと、それぞれの社員が所属する部署の情報を管理しているdepartmentテーブルがあるとします。こうした時に、左外部結合を使うことができます。

student
生徒

例えば、employeeテーブルにはいるけれど、部署の情報がない社員もいるという場合ですか?

teacher
先生

そうですね。このような場合に、左外部結合を使うことができます。

student
生徒

なるほど、その結果の取り方はどうなるんですか?

teacher
先生

左外部結合を実行すると、左側のテーブルに存在する全てのレコードと、右側のテーブルの一致するレコードが選択されます。そして、一致しない場合には、右側のテーブルの値はNULLになります。つまり、左側のテーブルに存在するレコードが全て取得され、右側のテーブルには一致するレコードがあればその値が、なければNULLが取得されるということです。

student
生徒

実際の例を見ることはできますか?

teacher
先生

では、例を見てみましょう。最初のテーブルがemployeeテーブルで左側になります。次のテーブルがdepartmentテーブルで右側になります。

name dept_id
Alice 1
Bob 2
Charlie NULL
Dave NULL
Emily 1
Frank 3
id name
1 Sales
2 Marketing
3 Development
4 Finance
teacher
先生

このとき、左外部結合を実行すると、以下のような結果が得られます。

employee.name department.name
Alice Sales
Bob Marketing
Charlie NULL
Dave NULL
Emily Sales
Frank Development
student
生徒

左外部結合は、どんな場合に使われるんですか?

teacher
先生

左外部結合は、左側のテーブルには必ずデータがあるが、右側のテーブルにはデータがあるかどうか分からない場合に使われます。例えば、上の例で言うと、従業員(employee)は必ず存在するが、所属部署(department)が存在しない従業員もいるため、左外部結合を使用することが適切です。また、左側のテーブルにデータがあっても、右側のテーブルのデータが全て必要ではない場合も、左外部結合を使用することができます。

まとめ

「左外部結合」(LEFT JOIN句、LEFT OUTER JOIN句)とは、SQL文で二つのテーブルを結合する方法の一つです。

左側のテーブルの全てのレコードと、右側のテーブルの一致するレコードが選択されます。

一致しない場合は、右側のテーブルの値はNULLになります。

左外部結合は、左側のテーブルには必ずデータがあるが、右側のテーブルにはデータがあるかどうか分からない場合に使われます。

また、左側のテーブルにデータがあっても、右側のテーブルのデータが全て必要ではない場合も、左外部結合を使用することができます。

左外部結合は、テーブルの結合において非常に便利で、データを取得する場合によく使用されます。

よく見られているページ
最新(80件表示 / 全317件中)
ランダム(20件表示)
全単語