MySQL의 IF 문

Preet Sanghavi 2022년1월20일
MySQL의 IF 문

이 튜토리얼에서는 MySQL에서 IF 문을 사용하는 방법을 배우는 것을 목표로 합니다.

MySQL에서 IF 문의 구문은 SELECT IF(condition, result_when_true, result_when_false) AS [col_name]으로 지정할 수 있습니다.

특히 IF 문에서 조건은 평가해야 하는 프로그래머가 정의한 기준입니다.

고려할 열이 하나 이상 포함될 수 있습니다. 예를 들어 열의 특정 값이 200보다 큰지 확인하기 위해 name_of_column > 100인 경우 조건을 작성할 수 있습니다.

result_when_true 값은 조건이 true로 평가되는 경우 해당 조건에 대해 표시하려는 출력 값을 나타냅니다. 반면 result_when_false 값은 조건이 거짓으로 계산될 때 표시되는 출력 값을 나타냅니다.

예를 들어 이 문장에 대해 더 자세히 알아보도록 합시다.

그러나 시작하기 전에 작업할 더미 데이터 세트를 만듭니다. 여기에서 몇 개의 행과 함께 student_details 테이블을 만듭니다.

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

위의 쿼리는 학생의 이름과 성이 있는 행이 있는 테이블을 만듭니다. 데이터의 항목을 보려면 다음 코드를 사용합니다.

SELECT * FROM student_details;

앞서 언급한 코드는 다음과 같은 출력을 제공합니다.

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

이제 stu_id가 3보다 큰 경우 학생들의 이름과 함께 Yes를 인쇄하는 것을 목표로 합시다. 그렇지 않으면 high_stu_id라는 별도의 열에 No를 인쇄합니다.

MySQL의 IF

위의 구문에서 볼 수 있듯이 MySQL의 IF 문에는 조건이 필요합니다. 이것은 CASE 문과 유사하게 작동합니다.

MySQL에서 원하는 결과를 얻기 위해 다음 프로그램을 사용할 수 있습니다.

SELECT stu_firstName, IF(stu_id>3,"yes","no") AS high_stu_id
FROM student_details;

앞서 언급한 코드는 각 학생의 이름과 high_stu_id라는 새 열을 가져옵니다.

이 결과 열은 학생의 stu_id가 3보다 크면 Yes 값을 갖습니다. 그렇지 않고 stu_id가 3보다 작으면 No 값이 인쇄됩니다.

위 코드의 출력은 다음과 같이 시각화할 수 있습니다.

stu_firstName	high_stu_id
Preet				no
Rich				no
Veron				no
Geo					yes
Hash				yes
Sachin				yes
David				yes

마찬가지로 IF 문을 사용하여 데이터를 활용하고 요구 사항을 충족할 수 있습니다. IF문의 대안은 MySQL의 CASE문입니다.

따라서 이 튜토리얼의 도움으로 이제 MySQL에서 IF 문을 성공적으로 구현할 수 있습니다.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

관련 문장 - MySQL Statement