MySQL

IF EXISTS, IF NOT EXISTS

Jungsoomin :) 2020. 7. 22. 12:46

값이 있을 경우 실행되는 조건이 IF EXISTS 이고,     값이 없을 경우 실행되는 조건이 IF NOT EXISTS 이다.

 

SELECT INSERT UPDATE DELETE 등 CRUD 에 자유로이 이용 가능한 모양이다.

Ex) mybatis

INSERT INTO sample_table

           (

                 column1

               , column2

               , column3

           )

           SELECT #{val1}

                        , #{val2}

                        , #{val3}      

               FROM sample_table

            WHERE NOT EXISTS (

                         SELECT column1

                            FROM sample_table

                         WHERE column1 = #{val1}

            ) LIMIT 1

-WHERE NOT EXISTS 안에 선언된 서브쿼리조건 , 즉 column가 매개값과 중복되지 않는다면 2번째 서브쿼리문 출력을 하고 이후에 컬럼에 맞는 자리에 INSERT를 시키는 모양이다.

 

간단하게 이야기하면, column1에 매개변수 val과 같은 값이 없다면 INSERT 한다는 쿼리다. 

'MySQL' 카테고리의 다른 글

Foreign Key Options  (0) 2020.08.07
Paging 처리에 쓰이는 limit  (0) 2020.07.29
출력하는 컬럼을 제한하는 limit  (0) 2020.07.22