SQL 쿼리문에서 IF문을 활용하여 각 조건에 따른 데이터 제어가 가능합니다. 단, 제어문이 계속하여 중첩된다면 CASE 문을 활용하는 것이 바람직 합니다.
형식) IF(expr1, expr2, expr3) => IF(조건, 참일때 결과 값, 거짓일때 결과 값)
예1) SELECT 문에서 사용
mysql> SELECT IF(1 > 2, 2, 3); -> 3
mysql> SELECT IF(1 < 2, 'yes', 'no'); -> 'yes'
mysql> SELECT IF(STRCMP('test', 'test1'), 'no', 'yes'); -> 'no'
예2) WHERE 절에서의 사용
mysql> SELECT * FROM data_table WHERE IF(CHAR_LENGTH(name) = 2, 'Y', 'N') = 'Y';
InnoDB : 메모리기반 스토리지 엔진. PK
MyISAM : 파일기반 스토리지엔진. 비효율 (auto_increment 값을 파일에 기록)
auto increment - 자동증가필가