連表查詢(內連線,左外連線,右外連線)

2021-09-03 08:12:16 字數 1381 閱讀 7283

用兩個表(a_table、b_table),關聯欄位a_table.a_id和b_table.b_id來演示一下mysql的內連線、外連線( 左(外)連線、右(外)連線、全(外)連線)。

mysql版本:server version: 5.6.31 mysql community server (gpl)

資料庫表:a_table、b_table

主題:內連線、左連線(左外連線)、右連線(右外連線)、全連線(全外連線)

前提建表語句:

create table `a_table` (

`a_id` int(11) default null,

`a_name` varchar(10) default null,

`a_part` varchar(10) default null

) engine=innodb default charset=utf8

create table `b_table` (

`b_id` int(11) default null,

`b_name` varchar(10) default null,

`b_part` varchar(10) default null

) engine=innodb default charset=utf8

表測試資料:

一、內連線

關鍵字:inner join on

語句:select * from a_table a inner join b_table bon

a.a_id = b.b_id;

執行結果:

說明:組合兩個表中的記錄,返回關聯字段相符的記錄,也就是返回兩個表的交集(陰影)部分。

二、左連線(左外連線)

關鍵字:left join on / left outer join on

語句:select * from a_table a left join b_table bon

a.a_id = b.b_id;

執行結果:

說明:left join 是left outer join的簡寫,它的全稱是左外連線,是外連線中的一種。

左(外)連線,左表(a_table)的記錄將會全部表示出來,而右表(b_table)只會顯示符合搜尋條件的記錄。右表記錄不足的地方均為null。

三、右連線(右外連線)

關鍵字:right join on / right outer join on

語句:select * from a_table a right outer join b_table b on a.a_id = b.b_id;

執行結果:

SQL 內連線,外連線(左外連線 右外連線)

參考整理筆記 關鍵字 inner join on 語句 select from a table a inner join b table bon a.a id b.b id 執行結果 說明 組合兩個表中的記錄,返回關聯字段相符的記錄,也就是返回兩個表的交集 陰影 部分。關鍵字 left join o...

Oracle外連線,左外連線,右外連線,內連線簡析

內連線即普通等值連線 select e.ename,e.job,e.sal,d.dname from emp e inner join dept d on e.deptno d.deptno where e.sal 2000 select e.ename e.job,e.sal d.dname fr...

內連線,左外連線,右外連線,全連線

1.內連線我們通常用的連線,表表連線只顯示交集資料 2.外連線分左外連線 table1 left outer join on table2 和右外連線table1 right outer join on table2 和全連線 table1 full outer join on table2 2.1...