MySQL 七種 JOIN

共有

SELECT
    *
FROM
    t_dept a
INNER JOIN t_emp b ON a.id = b.deptId;

左獨佔+共有

SELECT
    *
FROM
    t_dept a
LEFT JOIN t_emp b ON a.id = b.deptId;

右獨佔+共有

SELECT
    *
FROM
    t_dept a
RIGHT JOIN t_emp b ON a.id = b.deptId;

左獨佔

SELECT
    *
FROM
    t_dept a
LEFT JOIN t_emp b ON a.id = b.deptId
WHERE b.deptId IS NULL;

右獨佔

SELECT
    *
FROM
    t_dept a
RIGHT JOIN t_emp b ON a.id = b.deptId
WHERE a.id IS NULL;

左右所有

SELECT
    *
FROM
    t_dept a
LEFT JOIN t_emp b ON a.id = b.deptId
UNION
SELECT
    *
FROM
    t_dept a
RIGHT JOIN t_emp b ON a.id = b.deptId;

左獨佔+右獨佔

SELECT
    *
FROM
    t_dept a
LEFT JOIN t_emp b ON a.id = b.deptId
WHERE b.deptId IS NULL 
UNION
SELECT
    *
FROM
    t_dept a
RIGHT JOIN t_emp b ON a.id = b.deptId
WHERE a.id IS NULL;
相關文章
相關標籤/搜索