MySQL的左連接、右連接、內連接

具體演示

用兩個表(a_table 和 b_table),關聯字段 a_table.a_id 和 b_table.b_id 來演示一下 MySQL 的內連接、外連接( 左連接、右連接)。

(1)建表語句

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

(2)表測試數據

在這裏插入圖片描述

(3)內連接

關鍵字: 表名  inner join  表名  on  條件
語句:select * from a_table a inner join b_table b on a.a_id = b.b_id;

執行結果:
在這裏插入圖片描述
說明:組合兩個表中的記錄,返回關聯字段相符的記錄,也就是返回兩個表的交集部分。
在這裏插入圖片描述

(4)左連接

left join 左邊是左表

關鍵字:表名  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。
在這裏插入圖片描述

(5)右連接

right join 右邊的是右表

關鍵字:表名  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。
在這裏插入圖片描述
此文借鑑他人文章,此處附上原文鏈接:https://blog.csdn.net/plg17/article/details/78758593

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章