10) 이젠 테이블이 2개입니다 - 직원 & 부서 테이블
38.
현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!
나의 답 | Select count(distinct name) From departments; |
정답 | SELECT COUNT(*) FROM departments; |
오답 노트 | 현재 존재하고 있는 부서의 수를 구하려면, 지정된 컬럼이 null값이 있으면 안되니까 Count안에 *보다 name이 맞는 거 아닌가요!? |
고민한 점 | - |
39.
모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!
나의 답 | Select e.name, d.name From employees e left join departments d on e.department_id=d.id; |
정답 | SELECT e.name, d.name FROM employees e INNER JOIN departments d ON e.department_id = d.id; |
오답 노트 | - |
고민한 점 | 부서가 없는 직원이 있을 수도 있으니까 left join을 사용했는데.. 이게 틀렸다고 볼 수 있는지 모르겠다. 문제에 주어진 테이블은 데이터가 안많아서 그런 직원이 없다는 걸 확인할 수 있지만.. 실제로 모든 직원의 부서를 확인하려면 left join이 좀 더 적절하지 않을까? 정답은 모르겠다. |
40.
'기술팀' 부서에 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!
나의 답 | Select e.name From employees e left join departments d on e.department_id=d.id Where d.name='기술팀'; |
정답 | SELECT e.name FROM employees e INNER 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 1; |
정답 | SELECT d.name, COUNT(e.id) AS employee_count FROM departments d LEFT JOIN employees e ON d.id = e.department_id GROUP BY d.id; |
오답 노트 | 왜... 왜.. join에서 테이블 연결 순서를 바꿨지? 직원 수를 구해야 하니까 *가 아니라 e.id가 더 적합한 거 같다. |
고민한 점 | - |
42.
직원이 없는 부서의 이름을 찾는 쿼리를 작성해주세요!
나의 답 | Select d.name From ( Select d.name, count(*) a From employees e left join departments d on e.department_id=d.id Group by 1 ) Where a=0; |
정답 | SELECT d.name FROM departments d LEFT JOIN employees e ON d.id = e.department_id WHERE e.id IS NULL; |
오답 노트 | Null을 활용해보자! 부서별 직원 수를 구하고 그 값이 0인 부서를 찾는 거 보다, e.id is null이 훨씬 직관적이고 간단하다. |
고민한 점 | - |
43.
'마케팅팀' 부서에만 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!
나의 답 | Select e.name From employees e left join departments d on e.department_id=d.id Where d.name='마케팅팀' |
정답 | SELECT e.name FROM employees e INNER JOIN departments d ON e.department_id = d.id WHERE d.name = '마케팅팀'; |
오답 노트 | - |
고민한 점 | - |
'내일배움캠프 > 사전캠프 과제' 카테고리의 다른 글
[달리기반] SQL 문법 연습 1 (0) | 2025.01.23 |
---|---|
[걷기반] SQL 문법 연습 11_마지막 연습 문제 (0) | 2025.01.21 |
[걷기반] SQL 문법 연습 9 (0) | 2025.01.21 |
[걷기반] SQL 문법 연습 8 (0) | 2025.01.21 |
[걷기반] SQL 문법 연습 7 (0) | 2025.01.21 |