SQL Server / 논리 연산자 / IN, NOT IN
예제로 사용한 데이터베이스는 AdventureWorks이다.
IN
다음은 Person.Person 테이블에서 FirstName, MiddleName, LastName을 10개 추출하는 쿼리이다.
SELECT TOP(10) FirstName, MiddleName, LastName FROM Person.Person
만약 FirstName이 Syed 또는 Sam 또는 John인 사람을 추출하고 싶다면 아래처럼 쿼리한다.
SELECT TOP(10) FirstName, MiddleName, LastName FROM Person.Person WHERE FirstName IN ( 'Syed', 'Sam', 'John' )
물론 아래와 같이 해도 된다.
SELECT TOP(10) FirstName, MiddleName, LastName FROM Person.Person WHERE FirstName = 'Syed' OR FirstName = 'Sam' OR FirstName = 'John'
NOT IN
만약 FirstName이 Syed, Sam, John이 아닌 사람을 추출하고 싶다면 아래처럼 쿼리한다.
SELECT TOP(10) FirstName, MiddleName, LastName FROM Person.Person WHERE FirstName NOT IN ( 'Syed', 'Sam', 'John' )
다음과 같이 해도 된다.
SELECT TOP(10) FirstName, MiddleName, LastName FROM Person.Person WHERE FirstName != 'Syed' AND FirstName != 'Sam' AND FirstName != 'John'