MySQL의 IF() 함수는 조건에 따라 값을 반환하는 데 사용됩니다. 주어진 조건을 평가하고, 조건이 참일 때는 하나의 값을, 거짓일 때는 다른 값을 반환합니다. IF() 함수는 데이터 가공, 조건부 필터링, 계산된 열 추가, 데이터 정제 등 다양한 데이터베이스 작업에 유용하며 복잡한 조건을 간단하게 처리할 수 있습니다.
사용법
IF(조건, 참일 때 값, 거짓일 때 값)
//예제
SELECT IF(age >= 20, '성인', '미성년자') AS 성인여부 FROM 사용자테이블;
-조건: 평가하려는 조건을 나타내는 표현식입니다.
-참일 때 값: 조건이 참일 때 반환할 값입니다.
-거짓일 때 값: 조건이 거짓일 때 반환할 값입니다.
위의 쿼리는 IF 함수를 사용하여 나이가 20세 이상이면 '성인'을 반환하고, 그렇지 않으면 '미성년자'를 반환합니다.
IF 함수는 단순한 조건부 구문을 작성하는 데 유용하며, 더 복잡한 로직을 구현할 때 CASE 표현식과 함께 사용되기도 합니다.
예제
1. 두 개의 중첩된 조건
SELECT
user_name,
age,
gender,
IF(age >= 20,
IF(gender = '남성', '성인 남성', '성인 여성'),
IF(gender = '남성', '미성년 남성', '미성년 여성')
) AS 메시지
FROM
Users;
IF() 함수를 사용하여 사용자의 나이(age)와 성별(gender)에 따라 메시지를 동적으로 생성하는 예제입니다.
IF(age >= 20, IF(gender = '남성', '성인 남성', '성인 여성'), IF(gender = '남성', '미성년 남성', '미성년 여성')) AS 메시지: 이 부분은 중첩된 IF() 함수를 사용하여 두 가지 조건을 평가합니다. 먼저, 나이가 20세 이상인지 확인하고 그다음 성별을 확인합니다. 그 결과, 4가지 다른 메시지 중 하나가 반환됩니다. 나이와 성별에 따라 '성인 남성', '성인 여성', '미성년 남성', '미성년 여성' 중 하나가 메시지 열에 할당됩니다.
2. 다중 조건문
SELECT
student_name,
score,
IF(score >= 90, 'A',
IF(score >= 80, 'B',
IF(score >= 70, 'C',
IF(score >= 60, 'D', 'F')
)
)
) AS 학점
FROM
Grade;
중첩된 IF() 함수를 사용하여 점수 범위에 따라 학점을 할당합니다.
'개발이야기 > MySQL' 카테고리의 다른 글
[MySQL] COALESCE 사용법, 예제, 활용하기 (NULL 치환) (0) | 2024.08.01 |
---|---|
[MySQL] CAST(), CONVERT() 함수 사용법, 예제, 차이점 (1) | 2023.10.26 |
[MySQL] 뷰(VIEW) 테이블 생성하기, 예제, 사용법과 목적 (0) | 2023.09.22 |
[MySQL] 문자열 대문자, 소문자 변환하기 (UPPER, LOWER 사용법/예제) (0) | 2023.09.12 |
[MySQL] 문자열 합치기/붙이기/연결하기 (CONCAT, CONCAT_WS 사용법&예제) (0) | 2023.09.11 |
댓글