[SQL 문제 풀이] Employees With Missing Information (누락된 정보가 있는 직원)
May 20, 2025
Contents
내가 작성한 쿼리
누락된 정보가 있는 모든 직원의 ID를 보고하는 솔루션을 작성합니다. 다음과 같은 경우 직원의 정보가 누락됩니다: * 직원의 이름이 누락되었거나 * 직원의 급여가 누락되었습니다. 직원_id가 정렬한 결과 테이블을 오름차순으로 반환합니다.
내가 작성한 쿼리
Oracle
SELECT employee_id
FROM Employees
FULL OUTER JOIN Salaries
USING (employee_id)
WHERE name IS NULL OR salary IS NULL
ORDER BY employee_id;
MySQL
SELECT employee_id
FROM (
-- Employees 기준 LEFT JOIN
SELECT
e.employee_id,
e.name, s.salary
FROM Employees e
LEFT JOIN Salaries s
ON e.employee_id = s.employee_id
UNION
-- Salaries 기준 RIGHT JOIN
SELECT
s.employee_id,
e.name, s.salary
FROM Employees e
RIGHT JOIN Salaries s
ON e.employee_id = s.employee_id
) AS combined
WHERE name IS NULL OR salary IS NULL
ORDER BY employee_id;
차이점
FULL OUTER JOIN
의 존재 유무Oracle
의 경우FULL OUTER JOIN
사용 가능USING (컬럼명)
을 통해 조건 명시MySQL
의 경우FULL OUTER JOIN
사용 불가LEFT JOIN
,RIGHT JOIN
각각 진행후UNION
으로 합쳐서 구
Share article