Quest/SQL

SQL Quest 걷기반 - 10)

beady 2024. 11. 13. 19:31

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번 문항의 쿼리는 좀 더 복잡했을 것 같음.