1. ホーム
  2. sql

[解決済み】SQL Serverにおける左結合と右結合の違い【重複あり

2022-04-04 12:50:51

質問

SQL Serverでの結合について知っています。

例えば、以下のような場合です。2つのテーブルTable1、Table2があります。

そのテーブル構造は以下の通りである。

create table Table1 (id int, Name varchar (10))

create table Table2 (id int, Name varchar (10))

Table1のデータは以下の通りです。

    Id     Name     
    -------------
    1      A        
    2      B    

Table2のデータは以下の通りです。

    Id     Name     
    -------------
    1      A        
    2      B 
    3      C

以下のSQL文を両方実行すると、両方の出力が同じになります。

select *
from Table1
  left join Table2 on Table1.id = Table2.id

select *
from Table2
  right join Table1 on Table1.id = Table2.id

上記のSQL文における左結合と右結合の違いについて説明してください。

どのように解決するのですか?

Select * from Table1 left join Table2 ...

そして

Select * from Table2 right join Table1 ...

は、確かに完全に互換性があります。しかし Table2 left join Table1 (またはその同じペア。 Table1 right join Table2 をクリックして、違いを確認してください。このクエリでは、Table1 には存在しない id を持つ行が Table2 に含まれているため、より多くの行を取得できるはずです。