一、內連接(INNER JOIN) 獲取兩個表中欄位匹配關係的記錄,需要兩個表都滿足條件的數據才會返回。如下圖陰影部分所示區域。 實例:有一張表table_a,數據如下: 表table_b,數據如下: 內連接SQL(也可以省略INNER,直接用JOIN): SELECT a.aid, a.aname ...
一、內連接(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;