이 글은 SQLD를 공부하며 DECODE
, CASE
, 그리고 WITH
구문에 대해 정리한 글이다.
DECODE문
DECODE
문을 이용하여 IF문(조건문)을 구현할 수 있음- 특정 조건이 참이면 A를, 거짓이면 B를 반환함
DECODE(Column, Condition, A, B)
- Column이 Condition에 부합하면(참이면) A를 반환하고, 부합하지 않으면(거짓이면) B를 반환함
SELECT DECODE(AGE, 22, 'TRUE', 'FALSE')
FROM STUDENT;
- 위 예시는 AGE가 22이면 'TRUE'를 반환하고, 22가 아니면 'FALSE'를 반환함
CASE문
CASE
문은 프로그래밍 언어의if-else
구문 혹은switch-case
구문과 유사하게 사용됨CASE
문의 기본 형태는 다음과 같음
CASE [expression]
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
...
WHEN condition_n THEN result_n
ELSE result
END
WHEN
구에 조건을 입력하며, 조건이 참이면THEN
이 실행됨- 만약
WHEN
구의 조건 중에서 참이 없다면,ELSE
가 실행됨
SELECT CASE
WHEN AGE = 22 THEN 'A'
WHEN AGE = 25 THEN 'B'
ELSE 'C'
END
FROM STUDENT;
- 위 예시는 AGE가 22이면 'A'를 출력하고, AGE가 25이면 'B'를 출력함
- 만약 둘다 아니라면 'C'를 출력함
WITH구문
WITH
구문은 서브쿼리(Subquery)를 사용해서 임시 테이블이나 뷰처럼 사용할 수 있는 구문- 서브쿼리 블록에 별칭을 지정할 수 있음
- 옵티마이저는 SQL을 인라인 뷰나 임시 테이블로 판단함
WITH VIEWDATA AS
(SELECT * FROM STUDENT
UNION ALL
SELECT * FROM STUDENT
)
SELECT * FROM VIEWDATA WHERE DEPTNO=1;
(서브쿼리에 대한 내용은 다음 글에서 정리한다.)
Reference
1. 2024 이기적 SQL 개발자 이론서 + 기출문제 / https://product.kyobobook.co.kr/detail/S000212055970
2024 이기적 SQL 개발자 이론서+기출문제 | 임호진 - 교보문고
2024 이기적 SQL 개발자 이론서+기출문제 | 본 도서는 SQL 개발자 시험 경향을 분석하여 수험생들이 혼자서도 학습할 수 있도록 한 완벽 대비서로서, 시행처인 한국데이터산업진흥원에서 공개한 202
product.kyobobook.co.kr
'Data Science > SQL' 카테고리의 다른 글
SQLD | SQL 활용 - 조인(JOIN) (0) | 2024.03.03 |
---|---|
SQLD | SQL 활용 - 서브쿼리(Subquery) (0) | 2024.03.02 |
SQLD | SQL 기본 - GROUP 연산과 SELECT문 실행 순서 (0) | 2024.03.02 |
SQLD | SQL 기본 - NULL의 특징과 NULL 값 조회 (2) | 2024.03.01 |
SQLD | SQL 기본 - WHERE문 (with. LIKE, BETWEEN, IN) (0) | 2024.02.29 |