반응형
https://leetcode.com/problems/employees-with-missing-information/description/
union을 사용해본 문제였습니다.
📕 풀이방법
📔 풀이과정
1. employees에서 salaries를 left join하게되면 salaries에만 있는 employee_id의 경우 사라지게 되며 employees에 있는 id만 남게 됩니다. 해당 id들을 distinct select해 줍니다.
2. 반대로 salaries에서 employees를 left join하게되면 employees에만 있는 employee_id가 사라지며 salaries에 있는 id만 남게 됩니다. 해당 id들을 distinct select해줍니다.
3. 두 id들을 union해서 id에 대해 오름차순으로 정렬해 줍니다.
📕 Code
📔 MySQL
select distinct e.employee_id
from employees e
left join salaries s
on e.employee_id = s.employee_id
where s.salary is NULL
union
select distinct s.employee_id
from salaries s
left join employees e
on e.employee_id = s.employee_id
where e.name is NULL
order by employee_id
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.