MySQL連接查詢INNER JOIN、LEFT JOIN、RIGHT JOIN

一、內連接(INNER JOIN)

獲取兩個表中字段匹配關係的記錄,需要兩個表都滿足條件的數據纔會返回。
如下圖陰影部分所示區域。
在這裏插入圖片描述
實例:
有一張表table_a,數據如下:
在這裏插入圖片描述
表table_b,數據如下:
在這裏插入圖片描述
內連接SQL(也可以省略INNER,直接用JOIN):

SELECT a.aid, a.aname, b.bid, b.bname FROM table_a AS a INNER JOIN table_b AS b ON a.aid = b.bid;

在這裏插入圖片描述

二、左連接(LEFT JOIN)

左表爲主表,獲取左表的所有記錄,即使右表沒有對應匹配的記錄,右表沒有匹配的記錄字段會返回null,如下圖陰影部分所示區域。
在這裏插入圖片描述
左連接SQL:

SELECT a.aid, a.aname, b.bid, b.bname FROM table_a AS a LEFT JOIN table_b AS b ON a.aid = b.bid;

在這裏插入圖片描述

三、右連接(RIGHT JOIN)

右連接和左連接正好相反,右連接以右表爲主表,用於獲取右表所有記錄,即使左表沒有對應匹配的記錄,左表沒有匹配的記錄字段會返回null,如下圖陰影部分所示區域。
在這裏插入圖片描述
右連接SQL:

SELECT a.aid, a.aname, b.bid, b.bname FROM table_a AS a RIGHT JOIN table_b AS b ON a.aid = b.bid;

在這裏插入圖片描述

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