본문 바로가기

SQL/개념 정리

[SQL] WEEK3

# SELECT에서 출력값 사이 콤마(,) 빼먹지 않기

# CASE ~ END는 한 세트! 

# 꼭 AS를 쓰지 않아도 별칭을 붙일 수 있다(하지만 가독성을 위해 AS를 작성하는 게 좋을 듯)

# IF(조건,참일 때 출력값, 거짓일 때 출력값) :조건이 하나인 경우 사용

 

# WHERE절에서는 별칭을 사용할 수 없음

  -> SELECT에서 사용한 조건문 속 조건을 WHERE절에 입력하여 필터링

 

SELECT  IF(date >= '2023-05-01', 1, 0) AS recency
               ,IF(cnt_order >= 5 , 1, 0) AS frequency
               , COUNT(customer_id) AS customers
FROM records
WHERE date >= '2023-05-01' AND cnt_order >= 5 
GROUP BY recency, frequency

 

recency freqency customers
1 1 127

 

#HAVING을 사용해도 가능하지만 WHERE을 사용하는 속도가 빠름

 (WHERE -> GROUP BY -> HAVING 순으로 작동하기 때문에)

 

#  문제 풀 때 질문 정리하기(구조화)

  1. 구해야 하는 것

  2. 필터 조건

  3. 정렬 조건

 

 

*본 내용은 데이터리안 'SQL 데이터 분석 캠프 입문반' 을 수강하며 작성한 내용입니다.

'SQL > 개념 정리' 카테고리의 다른 글

[SQL] JOIN  (0) 2023.05.31
SQL로 EDA해보기  (0) 2023.05.31
[SQL] CASE를 활용한 데이터 피봇  (0) 2023.05.18
[SQL] CASE WHEN 조건문  (0) 2023.05.18
[SQL] GROUP BY  (0) 2023.05.09