DATA 사전캠프

11일차 SQL 스터디: 이젠 테이블이 2개입니다

sawo11 2024. 11. 19. 01:31

다음과 같은 직원(employees) 테이블과 부서(departments) 테이블이 있습니다.

 

  • employees 테이블
id department_id name
1 101 르탄이
2 102 배캠이
3 103 구구이
4 101 이션이

 

  • departments 테이블
id name
101 인사팀
102 마케팅팀
103 기술팀

 

38. 현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!

SELECT COUNT(name) departments_count
FROM departments;

 

39. 모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!

SELECT e.name emoloyee_name, 
	d.name department_name
FROM employees e 
INNER JOIN departments d ON e.department_id = d.id;

 

40. '기술팀' 부서에 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!

SELECT e.name employee_name
FROM employees e 
INNER JOIN department d ON e.department_id = d.id
WHERE d.name = '기술팀';

 

41. 부서별로 직원 수를 계산하는 쿼리를 작성해주세요!

SELECT d.name department_name, 
	COUNT(*) employee_count
FROM employees e 
INNER JOIN departments d ON e.department_id = d.id
GROUP BY d.name;

 

42. 직원이 없는 부서의 이름을 찾는 쿼리를 작성해주세요!

SELECT d.name department_name
FROM employees e
RIGHT JOIN departments d ON e.department_id = d.id
WHERE e.id IS NULL;

 

43. '마케팅팀' 부서에만 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!

SELECT e.name employee_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.id
WHERE d.name = '마케팅팀'