logo

左結合と左外部結合の違い

コンピューター システムのデータベースは、作成、削除などのさまざまなオプションを実行するために使用できる構造化データまたは非構造化データのコレクションです。このデータベースは、 SQL 。 SQL 言語には、関連する列から 2 つ以上のテーブルの行を組み立てるために使用されるさまざまな結合があります。結合の一部は、 内部結合 左結合 、 そして 右結合 。この記事では、例を示しながら概念を探っていきます。 左結合 および左外部結合。これに加えて、それらの主な違いについても説明します。

左結合

SQL 言語の左結合は、左側のテーブルからすべてのデータまたはレコードを返し、右側のテーブルから一致するデータまたはレコードを返すために使用されます。このシナリオでは、一致するものがない場合でも、結合は左側のテーブルの行で構成され、 NULL値 右側のテーブルの列の場合。

クエリのコンテキストでは、左結合の構文を以下に示します。



構文

left_table から列を選択する

LEFT JOIN right_table ON

結合条件;

ここで、簡単な例を通して左結合を理解しましょう。

例:

1. Customer_Data テーブル:

顧客ID

顧客名

1

ガウラフ

2

C++の文字列で検索します

アンジャリ

3

ラメッシュ

2. Orders_Data テーブル:

注文ID

顧客ID

注文日

1

1

2023-01-23

2

1

2023-02-03

3

3

2023-03-05

4

ワードラップCSS

4

2023-04-10

左結合のクエリ

SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data LEFT JOIN Orders ON Customers_Data.customer_id = Orders_Data.customer_id;>

結果/出力

顧客ID

顧客名

注文ID

注文日

1

ガウラフ

1

2023-01-23

1

ガウラフ

2

2023-02-03

2

アンジャリ

ヌル

ヌル

3

ラメッシュ

3

2023-03-05

説明

上の例では。左結合には、左側のテーブルのすべての行が含まれます ( 顧客データ ) それらを右の表の対応する行と照合しました ( 注文データ )。ここで、顧客 Gaurav には 2 つの注文があり、Anjali には注文がなく (NULL)、Ramesh には 1 つの注文があります。

左外部結合

の概念 左外部結合 は、左結合と似ており、同じであり、これらの用語はどちらも同じ意味で使用されます。ここで使われるキーワードは、 アウター これはオプションであり、結果には影響しません。

左外部結合の構文を見てみましょう。

構文

SELECT 列

として選択

左テーブルから

LEFT OUTER JOIN right_table ON

結合条件;

例:

上記の左結合の例で使用されているのと同じテーブルを考えてみましょう。

左外部結合のクエリ

SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data  LEFT OUTER JOIN Orders ON  Customers_Data.customer_id = Orders_Data.customer_id;>

結果/出力

顧客ID

顧客名

注文ID

注文日

Java文字列比較

1

ガウラフ

1

2023-01-23

1

ガウラフ

2

2023-02-03

2

アンジャリ

ヌル

ヌル

3

ラメッシュ

3

2023-03-05

4

ヌル

ヌル

ヌル

説明

上の例では、右側のテーブルから一致しないレコード ( 注文データ ) が含まれており、右側のテーブル列には NULL 値が表示されます。したがって、「」の顧客は、 顧客ID ' 4 の中に 注文データ テーブルに一致するレコードがありません。 顧客データ table も結果セットに含まれており、左結合条件では表示されなかった NULL 値が表示されます。

左結合と左外部結合の違い

パラメータ

左結合

外部結合

一致するレコード

左結合には、右テーブルの一致するレコードが含まれます。

左外部結合には、右側のテーブルの一致するレコードが含まれます。

一致しないレコード

左結合では、右端のテーブルから一致しないレコードが除外されます。

左外部結合では、右側のテーブルの一致しないレコードが含まれ、右側のテーブルの列には NULL 値が表示されます。

キーワードを結合する

左結合

左外部結合

Null値

右側のテーブル列には NULL 値は表示されません。

一致しない場合に備えて、右側のテーブル列には NULL 値が表示されます。

構文

rdbms の関係代数

SELECT カラム FROM left_table LEFT JOIN right_table ON join_condition;

SELECT カラム FROM left_table LEFT OUTER JOIN right_table ON join_condition;

左結合と左外部結合に関する FAQ

1. 左結合はどのような場合に使用する必要がありますか?

左結合は、右端のテーブルに一致する行がない場合でも、左端のテーブルからすべての行を返す必要がある場合に使用する必要があります。これは、右側のテーブルのデータが含まれているかどうかに関係なく、左側のテーブルのすべてのデータをリストしたい場合に便利です。

2. 左結合を使用する利点は何ですか?

左結合を使用することにはさまざまな種類の利点があり、右側のテーブルにデータがない場合でも、左側のテーブルにすべてのデータを表示できる可能性があります。これはタスクの監査に使用できます。

3. 左外部結合の結果を説明します。

左外部結合の結果は、左側のテーブルの行と、右側のテーブルの一致する行で構成されます。右側のテーブルに一致する行がない場合、結果セット内の対応する列は NULL として表示されます。

4. ORDER BY 句を左外部結合と一緒に使用できますか?

はい、クエリ内で ORDER BY 句を左外部結合とともに使用できます。これにより、他のクエリの場合と同様に、結合の結果が順序付けされます。