資料庫中的左連線 右連線 內連線和全連線

2021-08-21 14:39:15 字數 1139 閱讀 3183

1.內連線 inner join:一種一一對映關係,將兩張表共有的顯示出來,求兩個集合的交集

用法: 表a inner join 表b on 條件  此過程可以給表起別名,亦可以給要查詢的列起顯示的別名

2.左連線 left join:左邊表的所有資料都顯示出來,右邊表資料只顯示共有的部分,沒有對應的部分用空來補齊

用法:表a left join 表b on 條件    此過程可以給表起別名,亦可以給要查詢的列起顯示的別名

3.右連線:right join:與左連線正好相反,右邊表的資料都顯示,左邊資料只顯示共有否認部分,沒有對應的部分用空來補齊

用法:表a right join 表b on 條件   此過程可以給表起別名,亦可以給要查詢的列起顯示的別名

4.全連線(外連線):左表右表資料全部顯示,缺少對應的用空來替代,無重複

用法:表a  full join 表b  此過程可以給表起別名,亦可以給要查詢的列起顯示的別名 但是mysql不支援full join 

需要用左連線 union(去重)右連線來替代   即:表a left join 表b on 條件 union 表a right join 表b on 條件

5.左外連線(left join excluding inner join):只查詢左邊獨有的資料,查詢結果右邊用null替代

用法:表a left join 表b on 條件 where 表b某項 is null

此過程可以給表起別名,亦可以給要查詢的列起顯示的別名

6.右外連線(right join excluding inner join):只查詢右邊獨有的資料,查詢結果左邊用null替代

用法:表a right join 表b on 條件 where 表a某項 is null

7.外連線不包含內連線(outer join excluding inner join):查詢左右表各自擁有的那部分資料,由於mysql不支援full join

表a left join 表b on 條件 where 表b某項 is null union 表a right join 表b on 條件 where 表a某項 is null

七種韋恩圖:

參考:

資料庫左連線,右連線,內連線

我們來舉個例子。天庭上面有乙個管理系統 管理系統有個主表 主表記錄著各個神仙的基本資訊 我們把它當成表a 還有個表記錄著他們這個神仙的詳細資訊 我們把它當成表b 表a的資訊為 idaname position1李靖 托塔天王 2值年神李丙 四值功曹 3增長天王 四大天王 4青龍孟章神君 四方神錶b的...

資料庫左連線,右連線,內連線,外連線

首先連線有 內連線,外連線 左外,右外 全連線 交集 交叉連線 笛卡爾積 先略兩個表 尷尬,join打錯了,畢竟英語沒有6級 解釋下就是以左邊表id 案例裡面是test1 為基礎和右表id對比,左表有的右表也有就也出來,右表沒有的就null咯,右連線和左連線相反 enh,以右邊表id為基礎和左邊表i...

資料庫的左連線,內連線,右連線,小結

一般所說的左連線,外連線是指左外連線,右外連線。做個簡單的測試你看吧。先說左外連線和右外連線 test1 orcl 16 12月 11 sql select from t1 id name1 aaa 2 bbb test1 orcl 16 12月 11 sql select from t2 id a...