您可以简单地添加
UNION
返回所需的所有空值的查询。
SELECT * FROM (
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
UNION
SELECT DEPT_NAME, NULL, DEPT_ID, NULL
FROM DEPARTMENT_MASTER) AS x
ORDER BY DEPT_NAME, DIVISION_NAME
但在这种情况下,你最好使用
INNER JOIN
,因为
联合
将为匹配行和不匹配行添加空行。
SELECT * FROM (
SELECT DM.DEPT_NAME, DV.DIVISION_NAME, DM.DEPT_ID, DV.DIVISION_ID
FROM DEPARTMENT_MASTER DM
INNER JOIN DIVISION_MASTER DV ON DM.DEPT_ID = DV.DEPT_ID
UNION ALL
SELECT DEPT_NAME, NULL, DEPT_ID, NULL
FROM DEPARTMENT_MASTER) AS x
ORDER BY DEPT_NAME, DIVISION_NAME