728x90
CASE 문
기본 구조
CASE
WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2
...
ELSE 결과
END
예시
- 'orders' 테이블에서 'amount' 열의 값에 따라 3가지 레벨로 나타내는 경우
SELECT
amount,
CASE
WHEN amount < 1000 THEN 'Low'
WHEN amount >= 1000 AND amount < 5000 THEN 'Medium'
WHEN amount >= 5000 THEN 'High'
ELSE 'Unknown'
END AS amount_level
FROM orders;
IF 문
기본 구조
IF 조건 THEN
실행문;
ELSEIF 조건 THEN
실행문;
ELSE
실행문;
END IF;
예시
- 'customers' 테이블에서 'age' 열의 값에 따라 성인 또는 미성년자로 구분하기
CREATE FUNCTION f (age INT)
RETURNS VARCHAR(20) DETERMINISTIC
BEGIN
DECLARE RESULT VARCHAR(20);
IF age >= 18 THEN
SET RESULT = '성인';
ELSE
SET RESULT = '미성년자';
END IF;
RETURN RESULT;
END
SELECT f(AGE)
FROM customers;
IF 함수
기본 구조
IF(조건, 참일 때 값, 거짓일 때 값)
예시
- 'products' 테이블에서 'stock' 열의 값이 0보다 크면 'In stock', 아니면 'Out of stock'을 반환
SELECT
product_name,
IF(stock > 0, 'In stock', 'Out of stock') AS stock_status
FROM products;
728x90
반응형
'TIL - 프로그래밍 > SQL' 카테고리의 다른 글
[리트코드] 177. Nth Highest Salary - MySQL (0) | 2023.07.08 |
---|---|
[SQL] 사용자 정의 함수 (0) | 2023.07.08 |
[SQL] 소수점 올림, 반올림, 내림, 자르기 (0) | 2023.07.08 |
[SQL] 정규표현식 - 해커랭크 Weather Observation Station 6~11 (0) | 2023.07.07 |
[리트코드] 180. Consecutive Numbers - MySQL (0) | 2023.07.06 |
댓글