sql 左連接和右連接的使用技巧(left join and right join)
更新時間:2010年05月22日 22:54:50 作者:
今天做項目,發(fā)現(xiàn)左右連接是不一樣的。主要是說明了區(qū)別,是不是必須用左連接或右連接,大家可以根據需要選擇。
下面給一個例子進行說明:
例
表a
aid adate
1 a1
2 a2
3 a3
表b
bid bdate
1 b1
2 b2
4 b4
left join:
select * from a left join b on a.aid = b.bid
首先取出a表中所有數(shù)據,然后再加上與a,b匹配的的數(shù)據
此時的取出的是:
1 a1 b1
2 a2 b2
3 a3 空字符
同樣的也有right join
指的是首先取出b表中所有數(shù)據,然后再加上與a,b匹配的的數(shù)據
此時的取出的是:
1 a1 b1
2 a2 b2
4 空字符 b4
呵呵,大家千萬注意,左右連接跟兩個表a,b相連接,要取出id相同的字段數(shù)據是不一樣的,
select * from a ,b where a.aid = b.bid這是僅取出匹配的數(shù)據.
此時的取出的是:
1 a1 b1
2 a2 b2
這里順便說明下union 、union all
union是連接兩個表的數(shù)據并排除所有重復的數(shù)據。
而union all不排除重復的數(shù)據。
下面是你可能感興趣的文章:
超詳細mysql left join,right join,inner join用法分析
SQL 外鏈接操作小結inner join left join right join
SQL中的left join right join
例
表a
aid adate
1 a1
2 a2
3 a3
表b
bid bdate
1 b1
2 b2
4 b4
left join:
select * from a left join b on a.aid = b.bid
首先取出a表中所有數(shù)據,然后再加上與a,b匹配的的數(shù)據
此時的取出的是:
1 a1 b1
2 a2 b2
3 a3 空字符
同樣的也有right join
指的是首先取出b表中所有數(shù)據,然后再加上與a,b匹配的的數(shù)據
此時的取出的是:
1 a1 b1
2 a2 b2
4 空字符 b4
呵呵,大家千萬注意,左右連接跟兩個表a,b相連接,要取出id相同的字段數(shù)據是不一樣的,
select * from a ,b where a.aid = b.bid這是僅取出匹配的數(shù)據.
此時的取出的是:
1 a1 b1
2 a2 b2
這里順便說明下union 、union all
union是連接兩個表的數(shù)據并排除所有重復的數(shù)據。
而union all不排除重復的數(shù)據。
下面是你可能感興趣的文章:
超詳細mysql left join,right join,inner join用法分析
SQL 外鏈接操作小結inner join left join right join
SQL中的left join right join
相關文章
clickhouse數(shù)據庫刪除數(shù)據的五種方式
clickhouse數(shù)據庫清理數(shù)據的方式很多,每種方式都各有自己的優(yōu)缺點,請根據實際需要采用適合自己的方式,本文將逐一給大家介紹,并通過代碼示例講解的非常詳細,需要的朋友可以參考下2024-03-03
使用Navicat工具比對兩個數(shù)據庫所有表結構的差異案例詳解
這篇文章主要介紹了如何使用Navicat工具對比兩個數(shù)據庫test_old和test_new,并生成相應的DDL?SQL語句,以便將test_old升級到和test_new一致的狀態(tài),需要的朋友可以參考下2025-02-02
2024 Navicat Premium最新版簡體中文版激活永久圖文詳細教程(親測可用)
這篇文章主要介紹了2024 Navicat Premium最新版簡體中文版激活永久圖文詳細教程,文章通過圖文結合的方式給大家講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-09-09

