Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발자공부일기

SQL 문법 문제(기초) Step10 본문

SQL문제 풀기

SQL 문법 문제(기초) Step10

JavaCPP 2024. 10. 25. 17:31

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

  • employees 테이블
id  department_id  name
1 101 르탄이
2 102 배캠이
3 103 구구이
4 101 이션이
  • departments 테이블
id  name
101 인사팀
102 마케팅팀
103 기술팀

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

#내 답
SELECT name, COUNT(1)
FROM departments
GROUP BY name

#Chat GPT
SELECT COUNT(DISTINCT name) AS total_departments
FROM departments

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

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

 

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

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

 

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

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

 

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

#내 답
SELECT d.name
FROM
(
SELECT d.name,COUNT(1) 
FROM employees e INNER JOIN departments d ON e.department_id = d.id
GROUP BY d.name
)
WHERE COUNT(1) = 0

#Chat GPT
SELECT d.name AS department_name
FROM departments d
LEFT JOIN employees e ON d.id = e.department_id
WHERE e.id IS NULL;

LEFT JOIN을 사용하여 employees 테이블에 없는 부서들을 확인해야 합니다.

 

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

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

 

 

'SQL문제 풀기' 카테고리의 다른 글

문제 풀어보기  (0) 2024.12.06
SQL 문법 문제(기초) Step9  (0) 2024.10.24
SQL 문법 문제(기초) Step8  (0) 2024.10.22
SQL 문법 문제(기초) Step7  (0) 2024.10.21
SQL 문법 문제(기초) Step6  (0) 2024.10.18