SQL 쿼리문에서 IF문사용

MJ·2022년 5월 17일
0


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';

mysql 스토리지엔진 종류

InnoDB : 메모리기반 스토리지 엔진. PK
MyISAM : 파일기반 스토리지엔진. 비효율 (auto_increment 값을 파일에 기록)
auto increment - 자동증가필가

  • mysql 재시작시 InnoDB 문제점
    재부팅을 할 때 SELECT MAX(num) 구문을 사용하여 auto_increment 값을 새로 저장
    ** 이런 이슈를 방지하기 위해서는 테이블별로 Auto Increment 값을 관리하는 A테이블을 생성 후
    재부팅이 되면 A테이블에서 값을 조회하여 ALTER TABLE 구문을 수행
profile
하이브리드앱, 웹 프론트, 웹 개발, 웹앱, 디비, 서버, 국가연구원

0개의 댓글