티스토리 뷰

 

 
 

📌 SQL문 IN 연산자

IN 연산자는 지정된 목록에 있는 여러 값 중 하나와 일치하는 행을 선택하는 데 사용됩니다. 

OR 조건을 여러 번 사용하는 것보다 간결하고 가독성이 좋습니다. 

주로 특정 값 집합을 기준으로 데이터를 필터링할 때 유용합니다.

 

 

📌 기본 사용법

SELECT column_name
FROM table_name
WHERE column_name IN (value1, value2, ...);
 
    • column_name: 값을 비교할 열의 이름
    • value1, value2, ...: 비교할 값들의 목록.

 

 

📌 사용 예시

 

1. 숫자 값을 사용

SELECT * FROM employees
WHERE department_id IN (1, 2, 3);
 
    • 위 쿼리는 department_id가 1, 2, 또는 3인 직원들을 선택합니다.

 

2. 문자 값을 사용

SELECT * FROM products
WHERE category IN ('Electronics', 'Clothing', 'Books');
 
    • 위 쿼리는 category가 'Electronics', 'Clothing', 또는 'Books'인 제품을 선택합니다.

 

3. 날짜를 사용

SELECT * FROM orders
WHERE order_date IN ('2024-01-01', '2024-03-15', '2024-07-20');
 
    • 위 쿼리는 order_date가 '2024-01-01', '2024-03-15', 또는 '2024-07-20'인 주문들을 선택합니다.

 

 

 

📌 GOOD 사용법

 

1. 특정 목록에 있는 값 필터링

    • 여러 값 중 하나와 일치하는 데이터를 쉽게 필터링할 수 있습니다.
    • 예: 특정 부서에 속한 직원들을 찾을 때.
SELECT * FROM employees
WHERE department_id IN (10, 20, 30);
 

 

2. 복수의 조건을 처리할 때 가독성 향상

    • OR 조건을 여러 번 쓰는 대신 IN을 사용하여 쿼리를 더 간결하게 만들 수 있습니다.
-- `IN` 사용
SELECT * FROM customers
WHERE country IN ('USA', 'Canada', 'Mexico');

-- `OR` 사용 (덜 권장됨)
SELECT * FROM customers
WHERE country = 'USA' OR country = 'Canada' OR country = 'Mexico';
 

 

 

 

📌 BAD 사용법

 

1. 값이 적을 때

    • IN을 사용하는 것보다 =를 사용하는 것이 더 직관적일 수 있습니다.
-- 잘못된 예시
SELECT * FROM employees
WHERE department_id IN (5);

-- 더 나은 방법
SELECT * FROM employees
WHERE department_id = 5;
 
 

 

2. 값 목록이 너무 클 때

    • 목록에 너무 많은 값을 사용할 경우, 쿼리의 성능이 떨어질 수 있습니다.
    • 많은 값이 있을 때는 별도의 테이블을 사용하거나 JOIN을 고려하는 것이 좋습니다.

 

 

 

IN 연산자는 다수의 값을 비교할 때 매우 유용하지만,

사용할 때는 비교할 값의 수와 목록의 크기에 주의해야 합니다.

 

 

 

 

 

[DB] SQL문 WHERE절 사용 방법 및 예제

📌 SQL WHERE 절WHERE 절은 SQL 쿼리에서 레코드 필터링 조건을 지정하는 데 사용됩니다.특정 데이터를 검색하고, 쿼리 효율성을 높이고, 데이터 과부하를 최소화하는 데 필수적입니다.SELECT column1, co

worldalltip.com

 

 

반응형