본문 바로가기
MySQL

SELECT ORDER BY JOIN GROUP BY 조인 집계 함수 그룹별 HAVING

by aiyoon 2025. 6. 13.
반응형

✅ 1. 기초 SELECT 문법 및 조건 검색

목적 SQL 예제 설명
전체 데이터 조회 SELECT * FROM book; 모든 컬럼 출력
특정 컬럼 조회 SELECT bookname, price FROM book; 필요한 열만 출력
조건 검색 WHERE price >= 20000
WHERE bookid = 1
가격 또는 ID 조건
부분 일치 검색 LIKE '축구%', LIKE '_구%' 문자열 패턴 검색
특정 범위 검색 BETWEEN 10000 AND 20000 가격 범위 지정
OR 조건 검색 publisher = '굿스포츠' OR publisher = '대한미디어' 여러 값 중 하나
 

✅ 2. 정렬 (ORDER BY)

목적 SQL 예제 설명
이름순 정렬 ORDER BY bookname ASC 알파벳/가나다순 정렬
가격 → 이름 정렬 ORDER BY price ASC, bookname ASC 다중 정렬 조건
가격 내림차순, 출판사 오름차순 ORDER BY price DESC, publisher ASC 혼합 정렬 가능
 

✅ 3. JOIN (다중 테이블 연결)

목적 SQL 예제 설명
고객 + 주문 연결 FROM customer, orders WHERE customer.custid = orders.custid INNER JOIN 형태
고객 + 주문 + 도서 FROM customer, orders, book WHERE custid=orders.custid AND bookid=orders.bookid 3테이블 조인
도서를 구매하지 않은 고객 포함 LEFT OUTER JOIN 비구매 고객까지 포함 가능
 

✅ 4. 실전 응용 쿼리

목적 SQL 예제 설명
박지성의 총 구매액 SELECT SUM(saleprice) ... WHERE name='박지성' 고객 특정 조건 활용
박지성의 구매 도서 수 COUNT(DISTINCT orderid) 중복 주문 제외
박지성이 구매한 출판사 수 COUNT(DISTINCT book.publisher) 조인으로 출판사 추출
박지성이 구매하지 않은 도서 (예시 누락) NOT IN 혹은 LEFT JOIN WHERE IS NULL 활용 가능
구매 도서 이름/가격/차액 (미완성) SELECT bookname, price, saleprice, (price - saleprice)
 

✅ 5. 집계 함수 + 그룹별 분석 (GROUP BY)

목적 SQL 예제 설명
고객별 총 판매액 SUM(saleprice) GROUP BY customer.name 집계 기본
평균/최저/최고가 포함 AVG(), MIN(), MAX() 다양한 통계 활용
도서 판매 건수 (오류) SUM(DISTINCT orderid) ❌ → COUNT(*)가 정확  
고객별 주문 수량/총액 COUNT(*), SUM(saleprice) 수량/금액 동시 분석
주문 도서 날짜 그룹 GROUP_CONCAT(orderdate) 날짜 문자열 합치기
조건부 그룹 필터 HAVING COUNT(*) >= 2 2권 이상 주문한 고객만 필터
 

🧠 핵심 키워드 요약

문법 설명
SELECT 데이터 조회
FROM 테이블 지정
WHERE 조건 필터
JOIN 테이블 연결
GROUP BY 그룹화 집계
HAVING 그룹 결과 조건 필터
ORDER BY 결과 정렬
DISTINCT 중복 제거
SUM(), AVG(), COUNT() 집계 함수
 

✨ 권장 학습 흐름

  1. SELECT + WHERE + ORDER BY
  2. JOIN 기본 → 다중 JOIN
  3. GROUP BY + 집계 함수
  4. HAVING + 서브쿼리 + OUTER JOIN

❗추가 팁

  • HAVING은 GROUP BY 이후 필터에만 사용됩니다.
  • JOIN 시에는 반드시 ON 조건 또는 WHERE로 관계를 명시해야 정확한 결과가 나옵니다.
  • COUNT(*)는 행 수를 셈, COUNT(DISTINCT)는 중복 제거된 값 수를 셉니다.

반응형

'MySQL' 카테고리의 다른 글

MySQL 설치 가이드 Windows용 다운로드  (0) 2025.06.11