MariaDB 제어 함수 사용법: IF, IFNULL, NULLIF, CASE

MariaDB 제어 함수 사용법: IF, IFNULL, NULLIF, CASE

MariaDB에서 제어 함수는 조건에 따라 다른 값을 반환하는 데 사용됩니다. 이 글에서는 IF, IFNULL, NULLIF, CASE 함수의 사용법을 예제와 함께 알아봅니다.

IF 함수 사용법

IF 함수는 조건에 따라 서로 다른 값을 반환하는 함수입니다. 기본 구문은 다음과 같습니다.

IF(condition, value_if_true, value_if_false)

예제:

SELECT name, 
       IF(age >= 18, 'Adult', 'Minor') AS age_group
FROM users;

위 예제는 사용자의 나이에 따라 ‘Adult’ 또는 ‘Minor’를 반환합니다.

IFNULL 함수 사용법

IFNULL 함수는 NULL 값을 다른 값으로 대체하는 함수입니다. 기본 구문은 다음과 같습니다.

IFNULL(expression, alt_value)

예제:

SELECT name, 
       IFNULL(phone, 'N/A') AS phone
FROM users;

위 예제는 사용자의 전화번호가 NULL인 경우 ‘N/A’를 반환합니다.

NULLIF 함수 사용법

NULLIF 함수는 두 값이 같으면 NULL을 반환하는 함수입니다. 기본 구문은 다음과 같습니다.

NULLIF(expression1, expression2)

예제:

SELECT name, 
       NULLIF(department, 'None') AS department
FROM users;

위 예제는 사용자의 부서가 ‘None’인 경우 NULL을 반환합니다.

CASE ~ WHEN ~ ELSE ~ END 사용법

CASE 문은 조건에 따라 여러 값을 반환하는 함수입니다. 기본 구문은 다음과 같습니다.

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE result
END

예제:

SELECT name, 
       CASE 
           WHEN score >= 90 THEN 'A'
           WHEN score >= 80 THEN 'B'
           WHEN score >= 70 THEN 'C'
           ELSE 'F'
       END AS grade
FROM students;

위 예제는 학생의 점수에 따라 학점을 반환합니다.

활용 예제

다음은 각 제어 함수의 다양한 활용 예제입니다.

IF 함수 예제

SELECT name, 
       IF(salary > 5000, 'High', 'Low') AS salary_level
FROM employees;

위 예제는 직원의 급여가 5000 이상이면 ‘High’, 그렇지 않으면 ‘Low’를 반환합니다.

IFNULL 함수 예제

SELECT name, 
       IFNULL(address, 'Unknown') AS address
FROM customers;

위 예제는 고객의 주소가 NULL인 경우 ‘Unknown’을 반환합니다.

NULLIF 함수 예제

SELECT product_name, 
       NULLIF(discount, 0) AS discount
FROM products;

위 예제는 제품의 할인이 0인 경우 NULL을 반환합니다.

NULLIF 함수 예제 실행 결과 화면

CASE 문 예제

SELECT name, 
       CASE 
           WHEN age < 18 THEN 'Child'
           WHEN age BETWEEN 18 AND 64 THEN 'Adult'
           ELSE 'Senior'
       END AS age_group
FROM population;

위 예제는 사람의 나이에 따라 ‘Child’, ‘Adult’, ‘Senior’를 반환합니다.

CASE 문 예제 결과 화면

참고할 만한 사이트

더 자세한 내용은 다음 사이트들을 참고하세요.

관련 이전 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤