左結合と右結合の違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク

左結合と右結合の主な違いは、左結合は結果のテーブルに両方のテーブルからマッチしたデータを提供し、残りの行には左テーブルの値と右テーブルのNULLが含まれることです。

しかし、右結合では、両方のテーブルから一致したデータが結果のテーブルに提供され、残りの行には右のテーブルからの値と左のテーブルからのnullが含まれます。

一般的に、DBMSはデータベースのデータを効率的に保存・管理するためのソフトウェアアプリケーションです。

関係モデルに従って設計されたDBMSは、関係データベース管理システム(RDBMS)と呼ばれる。

SQL(Structured Query Language)は、プログラマーがクエリーを書き、それを実行することで、データベースに格納されたデータに対して操作を行うことができる言語です。

さらに、1つのデータベースには複数のテーブルが存在し、2つのテーブルを結合する必要がある場合もある

この問題を解決するために、ジョインがあります。

全体として、結合には様々な種類があり、そのうちの2つが左結合と右結合です。


どちらも外側joinの一種です

スポンサーリンク

What is Left Join

左結合は、2つのテーブルからマッチしたデータ、左テーブルの残りの行、右テーブルのカラムのNULLを含む結果テーブルを返します。

例えば、以下のテーブルを参照してください。

最初のテーブルは学生のテーブルで、2番目のテーブルは場所のテーブルです。

さらに、3番目のテーブルは左結合を実行した後のテーブルです。

IDカラムは両テーブルで共通です。

左結合のSQL文は次のとおりです。

SELECT * FROM student LEFT OUTER JOIN location ON (student.ID = location.ID);

この結合では、主な関心事は左側のテーブル、つまりstudentテーブルです。

したがって、結合されたテーブルにはstudentテーブルの値(IDと名前)があり、右側のテーブルの列の残りのフィールドにはNULL値があります。

同様に、左側の結合テーブルには左側のテーブルの一致する値とレコードがあり、右側のテーブルのカラムの値にはNULLが含まれます。

What is Right Join

右結合は、2つのテーブルの一致したデータと右テーブルの残りの行、左テーブルの残りのカラムのNULLを含む結果テーブルを返します。

  例えば、以下のテーブルを参照してください。

Main Difference - Left Join vs Right Join

最初の表は学生の表で、2番目の表は場所の表です。

さらに、3番目のテーブルは右結合を実行した後のテーブルです。

IDカラムは両テーブルで共通です。

この結合を実行するSQL文は次のとおりです。

SELECT * FROM student RIGHT OUTER JOIN location ON (student.ID = location.ID);

このジョインでは、右側のテーブル、つまりlocationテーブルが主な関心事となります。

したがって、結合されたテーブルにはlocationテーブルの値、つまりIDと国があり、残りのフィールドには左カラムのNULL値があります。

同様に、右側の結合テーブルは一致する値と右側のテーブルのレコードを持ち、左側のテーブルの列の値にはnullが含まれます。

左結合と右結合の違い

定義


左結合は外部結合の一種で、2つのテーブルからマッチしたデータ、左テーブルの残りの行、右テーブルのカラムのnullを含む結果テーブルを提供するものです

一方、右結合は外部結合の一種で、結合される2つのテーブルからのマッチしたデータ、右テーブルの残りの行、左テーブルの残りのカラムのヌルを持つ結果のテーブルを提供します

SQLクエリの例

テーブルがstudentとlocationの場合、左結合のSQL文はSELECT * FROM student LEFT OUTER JOIN location ON (student.ID = location.ID) 、右結合のSQL文はSELECT * FROM student RIGHT OUTER JOIN location ON (student.ID = location.ID) となります。

結論

時には、2つのテーブルを結合する必要があります

左結合と右結合は結合の2つのタイプです。

左結合と右結合の主な違いは、左結合は結果のテーブルに両方のテーブルからマッチしたデータ(左テーブルの残りの行と右テーブルのカラムにNULLを割り当てる)を提供することです。

しかし、右結合では、結果テーブルに両方のテーブルからマッチしたデータ、右テーブルの残りの行、左テーブルのカラムにNULLを代入することができます。

簡単に言うと、プログラマーはSQLステートメントを書くことで、左結合または右結合を実行することができます。

タイトルとURLをコピーしました