본문 바로가기

SQL/SQL Tutorial

20.SQL IN 연산자

20.SQL IN 연산자

IN 연산자를 사용하면 WHERE 절에 여러개의 값을 지정할 수 있습니다.

OR 연산자는 여러 조건 IN 에 대한 약어 입니다. 

 

'독일' , '프랑스' 또는 '영국' 의 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE Country IN ('Germany' , 'France' , 'UK');

 

NOT IN 

 IN 연산자 앞에 NOT 키워드를 사용하면 IN 목록에 있는 값 중 하나가 아는 모든 레코드를 반환합니다.

'독일' , '프랑스' 또는 '영국' 출신이 아닌 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE Country NOT IN ('Germany' , 'France' , 'UK');

 

IN (SELECT)

WHERE 절의 IN 과 함께 서브쿼리 를 사용할 수 있습니다.

서브쿼리를 사용하면 서브쿼리 결과에 있는 기본 쿼리의 모든 레코드를 반환할 수 있습니다.

Orders 테이블 에 주문이 있는 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE CustomerID IN (SELECT CustomerID FROM Orders);

 

NOT IN (SELECT)

서브쿼리의 결과가 포함되지 않게 검색합니다.

Orders 테이블에 주문을 하지 않은 모든 고객을 반환합니다.

SELECT * FROM Customers

WHERE CustomerID NOT IN (SELECT CustomerID FROM Orders);

 

'SQL > SQL Tutorial' 카테고리의 다른 글

22.SQL Aliases  (0) 2024.07.04
21.SQL BETWEEN  (0) 2024.07.03
19.SQL 와일드 카드  (0) 2024.07.02
18.SQL LIKE  (1) 2024.06.30
17.SQL AVG()  (0) 2024.06.30