我在mysql数据库中有两个表,分别是department\u master和division\u master。
DEPARTMENT_MASTER DIVISION_MASTER
DEPT_ID | DEPT_NAME DIVISION_ID | DIVISION_NAME | DEPT_ID
1 | HR 1 | DIV1 | 1
2 | CLINICAL 2 | DIV2 | 1
3 | IT 3 | DIV3 | 2
我有一个简单的sql查询-
SELECT DM.DEPT_NAME, DV.DIVISION_NAME, DM.DEPT_ID, DV.DIVISION_ID
FROM DEPARTMENT_MASTER DM
LEFT JOIN DIVISION_MASTER DV ON DM.DEPT_ID = DV.DEPT_ID
所以我得到了这样的结果
DEPT_NAME | DIVISION_NAME | DEPT_ID | DIVISION_ID
HR | DIV1 | 1 | 1
HR | DIV2 | 1 | 2
CLINICAL | DIV3 | 2 | 3
IT | NULL | 3 | NULL
有没有办法让我得到这样的结果-
DEPT_NAME | DIVISION_NAME | DEPT_ID | DIVISION_ID
HR | NULL | 1 | NULL
HR | DIV1 | 1 | 1
HR | DIV2 | 1 | 2
CLINICAL | NULL | 2 | NULL
CLINICAL | DIV3 | 2 | 3
IT | NULL | 3 | NULL
1条答案
按热度按时间pieyvz9o1#
您只需添加
UNION
使用返回所需的所有空值的查询。但在这种情况下,你不妨使用
INNER JOIN
,自从UNION
将为匹配行和非匹配行添加空行。