10) 이젠 테이블이 2개입니다.
다음과 같은 직원(employees) 테이블과 부서(departments) 테이블이 있습니다.
- employees 테이블
id
|
department_id
|
name
|
1
|
101
|
르탄이
|
2
|
102
|
배캠이
|
3
|
103
|
구구이
|
4
|
101
|
이션이
|
- departments 테이블
id
|
name
|
101
|
인사팀
|
102
|
마케팅팀
|
103
|
기술팀
|
38. 현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!
select count(*)
from departments
39. 모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!
select e.name,
d.name
from employees e left join departments d on e.department_id=d.id
40. '기술팀' 부서에 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!
select e.name,
d.name
from employees e left join departments d on e.department_id=d.id
where d.name='기술팀'
41. 부서별로 직원 수를 계산하는 쿼리를 작성해주세요!
select d.name,
count(*)
from employees e left join departments d on e.department_id=d.id
group by d.name
42. 직원이 없는 부서의 이름을 찾는 쿼리를 작성해주세요!
select e.name,
d.name
from employees e left join departments d on e.department_id=d.id
where e.name is null
43. '마케팅팀' 부서에만 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!
select e.name,
d.name
from employees e left join departments d on e.department_id=d.id
where d.name='마케팅팀'
만약에 테이블에 여러 부서에 속한 직원의 데이터가 있었다면, 43번 문항의 쿼리는 좀 더 복잡했을 것 같음.