小编典典

SQL Server中左联接和右联接之间的区别

sql

我知道SQL Server中的联接。

例如。有两个表Table1,Table2。

它们的表结构如下。

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

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

表1的数据如下:

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

表2数据如下:

    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语句中说明左右联接之间的区别。


阅读 162

收藏
2021-05-05

共1个答案

小编典典

Select * from Table1 left join Table2 …

Select * from Table2 right join Table1 ...

确实是完全可以互换的。但是,请尝试Table2 left join Table1(或同一对Table1 right join Table2)进行区别。此查询应为您提供更多行,因为Table2包含ID在Table1中不存在的行。

2021-05-05