IN
IN
연산자는 지정된 여러 값 중 하나와 일치하는 데이터를 조회할 때 사용됩니다. IN
연산자를 사용하면 OR
연산자보다 간결하게 여러 조건을 처리할 수 있습니다.
1. 간단한 IN 사용
간단한 SELECT 구문을 사용해서 IN
을 연습할 수 있습니다. 여기서 BETWEEN
과 헷갈릴 수 있는데, BETWEEN
은 범위를 지정할 때 사용하는 반면, IN
은 여러 값 중 하나와 일치하는 데이터를 조회할 때 사용합니다.
SELECT 1 IN (1, 2, 3); -- 1
SELECT 4 IN (1, 2, 3); -- 0
SELECT 1 IN (1, 2, 3); -- 1
SELECT 4 IN (1, 2, 3); -- 0
다음은 텍스트 값의 예시입니다.
SELECT 'A' IN ('A', 'B', 'C'); -- 1
SELECT 'D' IN ('A', 'B', 'C'); -- 0
SELECT 'A' IN ('A', 'B', 'C'); -- 1
SELECT 'D' IN ('A', 'B', 'C'); -- 0
2. 숫자 목록에서의 IN 사용
다음 쿼리는 카테고리ID
가 3, 5, 9인 상품을 조회하는 예시입니다.
SELECT 상품명, 카테고리ID
FROM 상품
WHERE 카테고리ID IN (3, 5, 9);
SELECT 상품명, 카테고리ID
FROM 상품
WHERE 카테고리ID IN (3, 5, 9);
이 쿼리는 카테고리ID
가 3(식품), 5(생활용품), 9(디지털)에 해당하는 상품을 모두 조회합니다.
3. 텍스트 목록에서의 IN 사용
다음 쿼리는 상품명이 '한정판 노트북 스티커' 또는 '블루투스 스피커' 또는 '스마트 헬스 밴드'인 상품을 조회하는 예시입니다.
SELECT 상품명, 가격
FROM 상품
WHERE 상품명 IN ('한정판 노트북 스티커', '블루투스 스피커', '스마트 헬스 밴드');
SELECT 상품명, 가격
FROM 상품
WHERE 상품명 IN ('한정판 노트북 스티커', '블루투스 스피커', '스마트 헬스 밴드');
이 쿼리는 지정한 세 가지 상품 중 하나에 해당하는 데이터를 조회합니다.
4. 하위 쿼리에서의 IN 사용
IN
연산자는 하위 쿼리(subquery)와 함께 사용할 수도 있습니다. 다음 쿼리는 특정 고객이 주문한 상품을 조회하는 예시입니다.
SELECT 상품명
FROM 상품
WHERE 상품ID IN (SELECT 상품ID FROM 주문상세 WHERE 주문ID = 1001);
SELECT 상품명
FROM 상품
WHERE 상품ID IN (SELECT 상품ID FROM 주문상세 WHERE 주문ID = 1001);
이 쿼리는 고객ID가 301인 고객이 주문한 상품들을 조회합니다.