반응형

SQL에서 두 상황에 IN 명령을 사용하는데,이 페이지에는 그 중 하나인 WHERE와 관련된 상황에 대해 설명한다. 이 용법에는 필요한 값을 적어도 하나를 알아 두어야 한다. 그리고 알려진 모든 값을 IN 절에 입력된다.

IN, NOT IN 문법

IN 절은 다음과 같다.

SELECT "필드명"
FROM "테이블명"
WHERE "필드명" IN ('값1', '값2', ...);

괄호 안에 하나 이상의 값이 있고, 그 수치 상호간에 쉼표로 구분한다. 값은 숫자나 문자일 수 있다. 만약 괄호 안에 값이 하나만 있는 경우는 다음과 같다.

WHERE "필드명" = '값1'

IN 절의 반대로 조회할 경우는 NOT IN를 사용한다.

SELECT "필드명"
FROM "테이블명"
WHERE "필드명" NOT IN ('값1', '값2', ...);

IN 예제

예를 들어, 만일 store_information 테이블, Los Angeles 또는 San Diego가 포함된 데이터를 모두 가져오는 경우,

store_information 테이블

store_namesalestxn_date
Los Angeles1500Jan-05-2018
San Diego250Jan-07-2018
Los Angeles300Jan-08-2018
Boston700Jan-08-2018

아래와 같이 명령을 입력하면,

SELECT *
FROM store_information
WHERE store_name IN ('Los Angeles', 'San Diego');

결과는 아래와 같다.

store_namesalestxn_date
Los Angeles1500Jan-05-2018
San Diego250Jan-07-2018
Los Angeles300Jan-08-2018

NOT IN 예제

이와 반대로 Los Angeles 또는 San Diego가 제외한 데이터를 모두 가져오는 경우,

SELECT *
FROM store_information
WHERE store_name NOT IN ('Los Angeles', 'San Diego');;

결과는 아래와 같다.

store_namesalestxn_date
Boston700Jan-08-2018


반응형

'SQL' 카테고리의 다른 글

[SQL][DML] LIKE  (0) 2018.01.09
[SQL][DML] BETWEEN  (0) 2018.01.09
[SQL][DML] IN, NOT IN  (0) 2018.01.09
[SQL][DML] AND, OR  (0) 2018.01.09
[SQL][DML] WHERE  (0) 2018.01.09
[SQL][DML] DISTINCT  (0) 2018.01.09

+ Recent posts