我知道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语句中说明左右联接之间的区别。
Select * from Table1 left join Table2 …
和
Select * from Table2 right join Table1 ...
确实是完全可以互换的。但是,请尝试Table2 left join Table1(或同一对Table1 right join Table2)进行区别。此查询应为您提供更多行,因为Table2包含ID在Table1中不存在的行。
Table2 left join Table1
Table1 right join Table2