學習筆記 資料庫左連線,右連線意義及區別

2022-07-08 01:21:07 字數 872 閱讀 1417

1.左連線,右連線等的意義及區別:

1)笛卡爾積:cross join

要理解各種join首先要理解笛卡爾積。笛卡爾積就是將a表的每一條記錄與b表的每一條記錄強行拼在一起。

所以,如果a表有n條記錄,b表有m條記錄,笛卡爾積產生的結果就會產生n*m條記錄。

下面的例子,t_blog有10條記錄,t_type有5條記錄,所有他們倆的笛卡爾積有50條記錄。

2)內連線:inner join

內連線inner join是最常用的連線操作。從數學的角度講就是求兩個表的交集,從笛卡爾積的角度講就是從笛卡爾積中挑出on子句條件成立的記錄。

3)左連線:left join

左連線left join的含義就是求兩個表的交集外加左表剩下的資料。

依舊從笛卡爾積的角度講,就是先從笛卡爾積中挑出on子句條件成立的記錄,然後加上左表中剩餘的記錄。

4)右連線:right join

同理右連線right join就是求兩個表的交集外加右表剩下的資料。

再次從笛卡爾積的角度描述,右連線就是從笛卡爾積中挑出on子句條件成立的記錄,然後加上右表中剩餘的記錄。

5)外連線:outer join

外連線就是求兩個集合的並集。

從笛卡爾積的角度講就是從笛卡爾積中挑出on子句條件成立的記錄,然後加上左表中剩餘的記錄,最後加上右表中剩餘的記錄。

另外mysql不支援outer join,但是我們可以對左連線和右連線的結果做union操作來實現。

eg:

select * from t1 left join t2 on t1.o_id=t2.id_p

union

select * from t1 right join t2 on t1.o_id=t2.id_p;

資料庫左連線右連線

一般所說的左連線,外連線是指左外連線,右外連線。1 先說左外連線和右外連線 先來檢視一下我們要測試的兩個表的資料 select from t1 id name 1aaa 2bbb select from t2 idage 130 對於左外聯接 sql left join 關鍵字 select col...

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

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

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

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