Вы можете просто добавить 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
, поскольку UNION
добавит пустые строки как для совпадающих, так и для несовпадающих строк.
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