case문
: 다중조건 사용
- 단순 값 변경할 때
case 컬럼이름
WHEN 값 THEN 값
WHEN 값 THEN 값
WHEN 값 THEN 값
ELSE 값
END
- 조건 걸어 값 변경할 때
CASE
WHEN 조건1 THEN 값
WHEN 조건2 THEN 값
WHEN 조건3 THEN 값
ELSE 값
END
* 예제
SELECT product_name, price,
CASE
WHEN price >70000 THEN '세일 10%'
WHEN price > 50000 THEN '세일 5%'
ELSE '세일없음'
END AS '세일%'
FROM shopping_mall.product;
- NULL 값을 변경
방법1. case 문 활용
SELECT
CASE
WHEN 컬럼명 is not null THEN 컬럼값(그대로반환)
ELSE '넣을값'
END
FROM 테이블명;
방법2. COALESCE 활용
SELECT COALESCE(컬럼명 ,'넣을값') From 테이블명
*예제
SELECT COALESCE(is_deleted , 'NO') as 삭제여부 FROM product;
방법3. IFNULL
: null아니면 컬러명 반환, null이면 넣을값 리턴
SELECT IFNULL(컬럼명, '넣을값') FROM 테이블명
* 예제
SELECT name, gender, age, email,
IFNULL(email, '이메일입력부탁드립니다.') AS 'IFNULL'
FROM shopping_mall.user;
방법4. IS NULL
UPDATE 테이블명 SET 컬럼명 = '바꿀값' WHERE (컬럼명 is NULL);
(IS NULL과 = NULL 은 사용이 다르므로 null 값 변경시 = null 사용 x)
*예제
UPDATE user SET email = '이메일 입력' WHERE (email is NULL);
방법5. IF문
SELECT IF(컬럼, true일때 값리턴, , false일때 값리턴) FROM 테이블명;
*예제
SELECT
`name`, email, IF(email IS NOT NULL, email, "이메일을 입력해주세요") AS 'if문으로 변경'
FROM user;
'SQL' 카테고리의 다른 글
ORACLE_여러 행을 한 행으로 조회하기 (0) | 2022.08.05 |
---|---|
ORACLE_LOCK 개체 확인 및 KILL(해제) (0) | 2022.08.05 |
SQL_데이터타입 / DATE (0) | 2021.08.21 |
SQL_기초2 (0) | 2021.08.20 |
SQL_기초1 (0) | 2021.08.19 |
댓글