WeniVooks

검색

SQL 베이스캠프

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인 고객이 주문한 상품들을 조회합니다.

2.8 BETWEEN2.10 LIKE