Left join ,Right join ,inner join 的运行结果的区别
================
Table1
Name City
----------
张三 深圳
李四 广州
Table2
Name City
----------
张六 深圳
王五 顺德
---------------外联------------------------------------
select * from Table1 as a left join Table2 b on a.City=b.City
Result:
Name City Name City
--------------------
张三 深圳 张六 深圳
李四 广州 Null Null
------------------外联---------------------------------
select * from Table1 as a right join Table2 b on a.City=b.City
Result:
Name City Name City
--------------------
张三 深圳 张六 深圳
Null Null 王五 顺德
-----------------外联-----------------------------------
select * from Table1 as a full join Table2 b on a.City=b.City
Result:
Name City Name City
--------------------
张三 深圳 张六 深圳
Null Null 王五 顺德
李四 广州 Null Null
----------------内联------------------------------------
select * from Table1 as a inner join Table2 b on a.City=b.City
(等于 select * from Table1 as a join Table2 b on a.City=b.City)
Result:
Name City Name City
--------------------
张三 深圳 张六 深圳
----------------------------------------------------
Table1
Name City
----------
张三 深圳
李四 广州
Table2
Name City
----------
张六 深圳
王五 顺德
---------------外联------------------------------------
select * from Table1 as a left join Table2 b on a.City=b.City
Result:
Name City Name City
--------------------
张三 深圳 张六 深圳
李四 广州 Null Null
------------------外联---------------------------------
select * from Table1 as a right join Table2 b on a.City=b.City
Result:
Name City Name City
--------------------
张三 深圳 张六 深圳
Null Null 王五 顺德
-----------------外联-----------------------------------
select * from Table1 as a full join Table2 b on a.City=b.City
Result:
Name City Name City
--------------------
张三 深圳 张六 深圳
Null Null 王五 顺德
李四 广州 Null Null
----------------内联------------------------------------
select * from Table1 as a inner join Table2 b on a.City=b.City
(等于 select * from Table1 as a join Table2 b on a.City=b.City)
Result:
Name City Name City
--------------------
张三 深圳 张六 深圳
----------------------------------------------------