MySQL에서의 in 과 not in
테이블을 보고 아래의 코드를 보자.
select *
from books
where released_year = 2017 or
released_year = 1985 or
released_year = 2010 or
released_year = 2014 or
released_year = 2008 ;
위의 코드는 books 테이블에서 출판년도가 2017년 이거나, 1985년 이거나 2010년 이거나 2014년 이거나 2008년인
책의 데이터를 찾는다.
이렇게 or 가 많이 필요로 하는 코드에서는 in() 으로 대체할 수 있다.
in() 의 사용법으로 위의 코드를 바꿔보면
select *
from books
where released_year in ( 2017, 1985, 2010, 2014, 2008 ) ;
로 바꿀 수 있다. 저 위쪽의 코드와 의미하는 것은 같다.
released_year컬럼이 2017, 1985, 2010, 2014, 2008 인 데이터를 찾는다.
아래는 실행 화면이다.
between 과 마찬가지로 in 역시 반대되는 개념의 not을 사용할 수 있다.
역시 in 앞에 not을 붙여 사용한다.
select *
from books
where released_year not in ( 2017, 1985, 2010, 2014, 2008 ) ;
-- books 테이블에서 released_year 가 2017, 1985, 2010, 2014, 2008 이 아닌 데이터를 찾는다.