資料庫查詢中的連線方式

2021-10-22 12:12:57 字數 1975 閱讀 5111

用兩個表(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 b on a.a_id = b.b_id;

執行結果:

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

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

語句:select * from a_table a left join b_table b on 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;

執行結果:

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

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

mysql目前不支援此種方式,可以用其他方式替代解決。

資料庫中的連線查詢

資料庫中的各個表中存放著不同的資料,使用者往往需要用多個表中的資料來組合 提煉出所需要的資訊。如果乙個查詢需要對多個表進行操作,就稱為 連線查詢。連線查詢的結果集或結果表,稱為表之間的連線連線。查詢實際上是通過各個表之間共同列的關聯性來查詢資料的,它是關聯式資料庫查詢最主要的特徵。連線查詢分為等值連...

MySQL資料庫的多表查詢連線方式

資料表如圖所示 外連線可分為 左連線 右連線 完全外連線。left join 或 left outer joinsql語句 左外連線包含left join左表所有行,如果左表中某行在右表沒有匹配,則結果中對應行右表的部分全部為空 right join 或 right outer join sql語句...

資料庫連線方式

1 內連線 inner join 從左表中取出每一條記錄,去右表中與所有的記錄進行匹配 匹配必須是某條件在左表中與右表中相同最終才會保留結果,否則不保留。2 外連線out join 以某張表為主,取出裡面的所有記錄,然後每條與另外一張表進行連線 不管能不能匹配上條件,最終都會保留 能匹配,正確保留 ...