본문 바로가기
SQL 공부

사전캠프 걷기반 퀘스트 10

by 나노다 2024. 10. 12.

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

SELECT COUNT(DISTINCT name)
FROM departments

 

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

SELECT e.name "직원명"
	, d.name "부서명"
FROM employees e left join departments d on e.department_id = d.id

 

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

SELECT name
FROM employees 
WHERE department_id = 103

문제가 의도한 바가 이게 아닌 거 같긴 한디

 

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

SELECT 부서코드
	, COUNT(직원명) 
FROM 
	(
	SELECT d.id "부서코드"
		, e.name "직원명"
	FROM employees e left join departments d on e.department_id = d.id
	) SubQ1
GROUP BY 1

 

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

SELECT 부서명
FROM
	(
	SELECT 부서코드
		, 부서명
		, COUNT(직원명) "직원수"
	FROM 
		(
		SELECT d.id "부서코드"
			, d.name "부서명"
			, e.name "직원명"
		FROM employees e left join departments d on e.department_id = d.id
		) SubQ1
	GROUP BY 1
	) SubQ2 
WHERE 직원수 = 0

더 좋은 방법이 있을 거 같기도...

 

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

department_id 컬럼은 하나인디... 40번과의 차이가 뭔가요....?