SQL, 이걸로 단권화 완료- 다시 톺아보기 4

아뇨 민균데요·2025년 5월 1일
0

4주차 핵심은 Subquery랑 JOIN임. 그걸로 복잡한 연산을 깔끔하게 정리하는 법 배우는 주차.


📘 KDC SQL 4주차 요약

🧠 이번 주 목표

  • Subquery 써서 여러 번 연산 한 큐에 끝내기
  • JOIN으로 다른 테이블 정보 같이 가져오기

1. 문자 포맷 변경 & 조건문 복습

  • REPLACE: 문자열 일부 바꾸기
  • SUBSTRING: 문자열 일부 잘라오기
  • CONCAT: 문자열 합치기
  • IF, CASE WHEN: 조건 따라 값 다르게 설정 가능함

→ 이거 까먹었으면 앞 주차 복습하고 오면 좋음


2. Subquery란?

  • SELECT문 안에 또 다른 SELECT문 넣는 것
  • 복잡한 계산, 조건문, 필터링에 유용함

언제 쓰냐면:

  • 연산 결과를 또 다른 계산에 써야 할 때
  • 평균 같은 집계값으로 필터링할 때
  • 특정 조건 만족하는 하위 집합만 뽑고 싶을 때

구조:

SELECT ...
FROM (
   SELECT ...
   FROM ...
) AS 별명

3. 실습 예시 (Subquery)

  • 주문 준비시간이 25분 넘는 경우 구하기
  • 평균 단가에 따라 수수료율 계산해서 더하기
  • 지역 + 평균 배달시간으로 그룹 나누기
  • 음식 타입 + 지역 기준으로 주문수량, 식당 수 세서 수수료율 구하기

CASE WHEN, GROUP BY, AVG, SUM, COUNT랑 조합해서 쓰면 무적


4. JOIN이란?

  • 서로 다른 테이블 합칠 때 쓰는 문법
  • 엑셀의 VLOOKUP 같은 개념

종류

  • INNER JOIN: 양쪽 테이블 다 값 있을 때만
  • LEFT JOIN: 왼쪽 테이블 기준, 오른쪽 비어도 포함

기본 구조

SELECT ...
FROM 테이블1 a
LEFT JOIN 테이블2 b ON a.공통컬럼 = b.공통컬럼

5. 실습 예시 (JOIN)

  • 주문 정보 + 고객 정보 합치기
  • 음식 타입별 주문별 결제 수단, 수수료율 확인
  • 고객이 주문한 식당 목록 보기 (중복 제거, 정렬)
  • 주문 가격 * 수수료율 → 주문별 수수료 계산
  • 50세 이상 고객 → 경로 할인율 계산 + 음식타입별 합산

📌 정리

  • Subquery는 쿼리 안에 쿼리 → 복잡한 계산을 깔끔하게 해결함
  • JOIN은 테이블 합치기 → 필요한 정보 모아서 분석 가능
  • CASE WHEN, GROUP BY, AVG, SUM, COUNT 다 함께 써야 진짜 제맛
  • 쿼리 짜기 전에는 “어떤 테이블?”, “어떤 컬럼?”, “어떤 조건?”, “어떤 함수?” 항상 정리하고 시작해야 헷갈리지 않음
profile
this man을 꿈 속에서 보신 적이 있으신가요?

0개의 댓글