天天看點

mysql内連接配接、左連接配接、右連接配接舉例說明

如下:

CREATE TABLE tb (
    id INT PRIMARY KEY, 
    NAME VARCHAR (20)
) ;
CREATE TABLE ta (
    id INT PRIMARY KEY,
    NAME VARCHAR(20),、
    tb_id INT
);
INSERT INTO tb VALUES(1,'财務部'),(2,'人事部'),(3,'科技部'),(4,'司法部'),(5,'行政部');
        
INSERT INTO ta VALUES (1,'劉備',1),(2,'關羽',2),(3,'張飛',3),(4,'張三',5),(5,'張七',6),(6,'張八',6),(7,'張九',6),(8,'張十',6);(9,'張十一',6);

#内連接配接:查詢兩張表中都有的關聯資料,相當于利用條件從笛卡爾積結果中篩選出了正确的結果。
SELECT * FROM ta INNER JOIN tb ON ta.tb_id = tb.id; 
        
#内連接配接等同于
SELECT  * FROM ta,tb WHERE ta.`tb_id`=tb.`id`;
        
#右外連接配接:在内連接配接的基礎上增加右邊有左邊沒有的結果
SELECT * FROM ta RIGHT JOIN tb ON ta.tb_id = tb.id;
        
#左外連接配接:在内連接配接的基礎上增加左邊有右邊沒有的結果  
SELECT * FROM ta LEFT JOIN tb ON ta.tb_id = tb.id;

#全外連接配接:在内連接配接的基礎上增加左邊有右邊沒有的和右邊有左邊沒有的結果
SELECT * FROM ta LEFT JOIN tb ON ta.tb_id = tb.id 
UNION
SELECT * FROM ta RIGHT JOIN tb ON ta.tb_id = tb.id;