IF, IFNULL, NULLIF
IF(논리식, 참일 때 반환 값1, 거짓일 때 반환 값2) : 논리식이 참이면 값1 리턴, 거짓이면 값2 리턴
IFNULL(값1, 대체할 값2) : 값1이 null이면 값2로 대체, null이 아니면 값1 리턴
NULLIF(값1, 값2) : 값1=값2이 true이면 null 그렇지 않으면 값1이 리턴
select if(3 > 2, '크다', '작다'),
if(3 > 5, '크다', '작다'),
nullif(3, 3),
nullif(3, 5),
ifnull(null, 'b'),
ifnull('a', 'b')
from dual;
-- 크다 작다 NULL 3 B A
WHERE 절에서 조건을 쓰고 싶으면 아래와 같은 형태로 사용 가능
WHERE 컬럼명 IS NULL
COALESCE
모든 DBMS에서 사용가능한 NULL 처리
참고로 발음은 [kōəˈles]
COALESCE(컬럼명, 컬럼명이 NULL인경우 대체할 값)
COALESCE(컬럼명1, 컬2, 컬3, 컬4) : NULL이 아닌 첫 번째 컬럼을 반환. 모두 NULL 이라면 NULL 반환
SELECT COALESCE(NAME, "No name")
FROM ANIMAL_INS
CASE
SELECT
CASE
WHEN 조건식1 THEN 식1
WHEN 조건식2 THEN 식2
ELSE 조건에 맞는경우가 없는 경우 실행할 식
END T
FROM DAUL
SELECT
CASE
WHEN SEX =='M' THEN '남성'
WHEN SEX =='F' THEN '여성'
ELSE '신원미상'
END SEX_NM
FROM USER;
'공부 > DATABASE' 카테고리의 다른 글
프로그래머스 SQL 문제 다 풀었다 히히 (0) | 2023.04.19 |
---|---|
SQL SELECT쿼리 실행 순서 (0) | 2023.04.18 |
[프로그래머스]대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(MySQL 풀이) (0) | 2023.04.12 |
[MySQL] JOIN 총 정리 (0) | 2023.03.07 |
[DB]DROP, TRUNCATE, DELETE 정리 (1) | 2022.10.19 |
댓글