티스토리 뷰
반응형
CASE, IF
조건을 처리할 때 사용
CASE는 Java나 C의 switch랑 비슷한 것 같다.
SELECT
*,
CASE
WHEN case1 THEN process1
WHEN case2 THEN process2
WHEN case3 THEN process3
ELSE process_else
END
FROM
student;
위와 같이 사용한다.
나이에 따라 학생들에게 학년을 배정해 줄 때
SELECT
*,
CASE
WHEN age = 17 THEN 1
WHEN age = 18 THEN 2
WHEN age = 19 THEN 3
ELSE 0
END AS grade
FROM
student;
위의 코드는 아래의 코드와 같은 의미이다.
SELECT
*,
CASE age
WHEN 17 THEN 1
WHEN 18 THEN 2
WHEN 19 THEN 3
ELSE 0
END AS grade
FROM
student;
💡 CASE에서는 제일 처음 조건부터 검사를 하기 때문에, 조건의 순서도 중요하다
IF는 삼항 연산자와 유사한 것 같다.
SELECT
quantity,
IF (quantity != 0, '있음', '없음') AS '재고'
FROM warehouse;
위는 quantity에 따라서 재고가 있거나 없음으로 표현하는 쿼리문이다.
quantity가 0이 아니면 '있음'이 리턴되고, 그 외에는 '없음'이 리턴된다.
COALESCE
NULL 값을 처리하기 위해서 사용
학년이 NULL인 경우 4로 대체
SELECT
COALESCE(grade, 0)
FROM
student;
NULLIF
NULL 값을 처리하기 위해서 사용
SELECT
NULLIF(grade, 0)
FROM
student;
COALESCE의 예시를 위와 같이 바꿀 수도 있다.
💡 COALESCE와 IFNULL의 차이
COALESCE는 여러개의 인자가 올 수 있지만 IFNULL은 2개이다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 네이버 2022 공채
- java
- mysql
- squash merge
- 주생성자
- python3
- Squash and merge
- postman tests
- solidity
- string
- go 특징
- pm.test
- DGS Framework
- Kotlin In Action
- 코틀린
- Python
- pm.expect
- Kotlin
- downTo
- graphql
- 1차 인터뷰
- 코딩테스트
- 확장 함수
- hashcode
- git
- 2차 인터뷰
- github
- Basic Type
- postman
- postman collection
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함