개발
Day 38 - MySQL pt.2
·2분 읽기
이 글은 2026년 04월 23일 작성된 글입니다.
오늘은 MySQL 심화 내용 중
JOIN, GROUP BY, 집계 함수, 그리고 SQL 실행 흐름까지 정리했다.
1. JOIN 개념
JOIN은 두 개 이상의 테이블을 합쳐서 데이터를 조회하는 방식이다.
SELECT *
FROM emp
INNER JOIN dept
ON emp.deptId = dept.id;- JOIN = 테이블을 곱한다
- ON = 불필요한 데이터 제거
2. deptName → deptId 구조 변경
- 문자열 대신 id로 관계 연결
- 유지보수 쉬워짐
3. GROUP BY + 집계 함수
SELECT deptId, AVG(salary)
FROM emp
GROUP BY deptId;- COUNT, SUM, AVG, MAX, MIN 사용
4. GROUP_CONCAT
GROUP_CONCAT(name ORDER BY id DESC SEPARATOR ', ')여러 행을 하나의 문자열로 합친다.
5. IF / CASE
SELECT IF(deptId = 1, '홍보', '기획');SELECT CASE
WHEN deptId = 1 THEN '홍보'
WHEN deptId = 2 THEN '기획'
END;6. JOIN + GROUP BY
SELECT D.name,
GROUP_CONCAT(E.name),
AVG(E.salary)
FROM emp AS E
INNER JOIN dept AS D
ON E.deptId = D.id
GROUP BY E.deptId;7. HAVING
HAVING AVG(salary) >= 5000- WHERE : 그룹 전
- HAVING : 그룹 후
8. SQL 실행 순서
- FROM + JOIN
- WHERE
- GROUP BY
- 집계 함수
- HAVING
- SELECT
- ORDER BY
- LIMIT
9. 서브쿼리
SELECT *
FROM (
SELECT * FROM board
) AS B;✅ 정리
- JOIN은 ON 조건이 필수이다.
- id 기반 관계가 유지보수에 유리하다.
- GROUP BY와 집계 함수는 데이터 분석 핵심이다.
- SQL 실행 순서를 이해해야 쿼리를 제대로 작성할 수 있다.