[SQL] CASE WHEN이 가진 의의딥상어동의 딥한 SQL/LV2.중급쿼리2021. 6. 27. 18:01
Table of Contents
http://www.yes24.com/Product/Goods/24089836?OzSrank=1
본 도서를 참조하여 작성했습니다.
0. 약방의 감초
CASE는 식이기 때문에 식을 적을 수 있는 곳 어디에서나 활용 가능하다.
SELECT, WHERE, GROUP BY, HAVING, ORDER BY
1. 구문에서 식으로의 사고 전환
/* query_a */
SELECT 지역, 판매_a
FROM t1
where 지역 = "부산"
union all
SELECT 지역, 판매_b
FROM t1
where 지역 = "인천"
--------------
/* query_b */
SELECT 지역
, case when 지역 = "부산" then 판매_a
when 지역 = "인천" then 판매_b end as 판매량
FROM t1
query_a와 query_b의 결과는 같다. 즉, 구문에서 식으로 사고를 전환하면 좀 더 짧고 "실행 계획"에서도 효율적인 코드를 사용할 수 있다. (""" union시 테이블을 두 번 불러오므로)
'딥상어동의 딥한 SQL > LV2.중급쿼리' 카테고리의 다른 글
[SQL] 윈도우 함수 범위 지정을 이용하여 퍼널 분석 로직 짜보기 - feat.window frame (0) | 2022.06.17 |
---|---|
[MSSQL] 이전 값으로 NULL 값 대체하기 (2) | 2021.08.31 |
[SQL] Group By VS Window 함수 (0) | 2021.06.27 |
[SQL] SubQuery가 가진 의의 (0) | 2021.06.27 |
[SQL] 언어가 가진 철학 (0) | 2021.06.27 |
@딥상어동의 딥한생각 :: 딥상어동의 딥한생각
제 블로그에 와주셔서 감사합니다! 다들 오늘 하루도 좋은 일 있으시길~~
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!