2026/06/02 3

Ch05. CASE문 - 조건부 집계

"하나의 쿼리로, 전체 주문 건수와 함께 "결제 완료(COMPLETED)", "배송(SHIPPED)", "주문 대기(PENDING)" 상태의 주문이 각각 몇 건인지 별도의 컬럼으로 나누어 보고 싶다." "피벗 테이블(Pivot Table)"이라는 이름은 데이터를 다양한 관점에서 "회전(pivot)" 시켜 분석할 수 있는 기능 때문에 붙여진 이름이다. UNION으로 합치는 방법"UNION"을 사용하면 여러 "SELECT" 문의 결과를 하나로 합칠 수 있다. 이때 각 "SELECT" 문의 컬럼 수가 같아야 하며, 컬럼의 데이터 타입도 호환되어야 한다.-- Unionselect 'Total' as category, count(*)from ordersunion allselect status as ..

Ch05. CASE문 - 그룹핑

"고객들을 출생 연대에 따라 "1990년대생", "1980년대생", "그 이전 출생"으로 분류하고, 각 그룹에 고객이 총 몇 명씩 있는지 알고 싶다." 분류(Classification): CASE 문을 사용해 각 고객에게 "1990년대생", "1980년대생", "그 이전 출생" 중 하나의 라벨을 붙여준다.집계(Aggregation): 1단계에서 만들어진 라벨을 기준으로 "GROUP BY"하고, "COUNT()" 함수를 사용해 각 라벨(그룹)에 속한 고객 수를 센다. 1단계: CASE 문으로 각 고객 분류하기select name, birth_date, case when year(birth_date) >= 1990 then '1990년대생' when year(birth_date)..

Ch05. CASE문 - CASE문 기본

"CASE" 문은 데이터 '자체'를 동적으로 가공하고 새로운 의미를 부여하는, 데이터에 멋진 옷을 입히는 기술이다. 마치 "IF-THEN-ELSE"처럼, 특정 조건에 따라 다른 값을 출력하게 만드는 SQL의 강력한 조건부 로직 도구다. "상품 목록을 조회하는데, 그냥 가격만 보여주지 말고, 가격대에 따라 '고가', '중가', '저가'와 같은 알아보기 쉬운 등급을 옆에 함께 표시하고 싶다." 물론 이 작업은 데이터베이스에서 원본 데이터를 모두 가져온 뒤, 자바나 파이썬 같은 애플리케이션 코드에서 "if-else" 문으로 처리할 수도 있다. 하지만 CASE 문을 사용하면 간단한 보고서나 데이터 분석을 할 때, 쿼리 하나만으로 원하는 최종 결과물을 바로 얻을 수 있어 매우 편리하다. 단순 CASE 문 (Sim..