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

2021-07-24 04:47:10 字數 1355 閱讀 3321

一般所說的左連線,外連線是指左外連線,右外連線。做個簡單的測試你看吧。

先說左外連線和右外連線:

[test1@orcl#16-12月-11] sql>select * from t1;

id name
1 aaa

2 bbb

[test1@orcl#16-12月-11] sql>select * from t2;

id        age
1         20

3 30

左外連線:

[test1@orcl#16-12月-11] sql>select * from t1 left join t2 on t1.id=t2.id;

id name                         id        age
1 aaa                           1         20

2 bbb

右外連線:

[test1@orcl#16-12月-11] sql>select * from t1 right join t2 on t1.id=t2.id;

id name                         id        age
1 aaa                           1         20

3 30

從上面的顯示你可以看出:左外連線是以左邊的表為基準。通俗的講,先將左邊的表全部顯示出來,然後右邊的表id與左邊表id相同的記錄就「拼接」上去,比如說id為1的記錄。如果沒有匹配的id,比如說t1中id為2的t2中就沒有。那邊就以null顯示。

右外連線過程正好相反。

再看內連線:

[test1@orcl#16-12月-11] sql>select * from t1 inner join t2 on t1.id=t2.id;

id name                         id        age
1 aaa                           1         20
看到沒有? 只有一條記錄。內連線就是只取出符合過濾條件的記錄 也就是t1.id=t2.id 那麼符合t1.id=t2.id的記錄只有id=1這一條,所以只顯示一條。 不像外連線,是將你作為基準的表(左外連線就是左邊表為基準,右外連線就是右邊表為基準)的所有行都顯示出來。

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

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

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

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

資料庫查詢 內連線 左連線 右連線 全連線

用兩個表 a table b table 關聯欄位a table.a id和b table.b id來演示一下mysql的內連線 外連線 左 外 連線 右 外 連線 全 外 連線 mysql版本 server version 5.6.31 mysql community server gpl 資料庫...