SQL WHERE IN – 예제로 설명

데이터베이스에서 수동으로 데이터를 필터링하고 여러 값이 있는 데이터를 필터링하는 보다 효율적인 방법을 찾는 데 지치셨습니까? SQL WHERE IN이 필요한 솔루션일 수 있습니다!

SQL 데이터베이스로 작업하는 경우 WHERE IN 연산자를 접했을 것입니다. 이 연산자는 WHERE 절에서 여러 값을 지정하는 데 사용되므로 데이터를 보다 정확하게 필터링할 수 있습니다.

이 연산자를 사용하면 테이블의 열과 일치시킬 값 목록을 지정할 수 있습니다. 이 목록은 하위 쿼리에 의해 하드코딩되거나 생성될 수 있으므로 데이터를 필터링하는 방법에 많은 유연성을 제공합니다.

SQL WHERE IN – 예제로 설명

예를 들어 IN 연산자를 사용하여 특정 도시 목록에서 모든 고객을 찾거나 일련의 제품 ID를 기반으로 결과를 필터링할 수 있습니다.

WHERE IN 연산자 사용의 이점 중 하나는 쿼리를 보다 효율적으로 만들 수 있다는 것입니다. 여러 OR 조건 대신 값 목록을 사용하면 데이터베이스에서 수행해야 하는 처리량을 줄일 수 있습니다.

이는 작은 최적화로도 성능에 큰 차이를 만들 수 있는 대규모 데이터 세트 또는 복잡한 쿼리로 작업할 때 특히 중요할 수 있습니다.

목차

SQL WHERE IN 절이란 무엇입니까?

SQL WHERE IN 절은 값 목록을 기반으로 데이터를 필터링하는 데 사용됩니다. 여러 OR 조건에 대한 속기를 사용하여 WHERE 절에 여러 값을 지정할 수 있습니다. SQL Server , PostgreSQL, MYSQL 및 Oracle 에 대한 WHERE IN 절의 구문은 다음과 같습니다.

SELECT column_name(s) 
FROM table_name 
WHERE column_name IN (value1, value2, ...); 

위의 SELECT 문을 고려하면 WHERE IN 절을 사용하면 지정된 열이 목록의 값과 일치하는 테이블에서 데이터를 검색할 수 있습니다. 검색할 특정 값 집합이 있는 경우 데이터를 필터링하는 데 유용한 구문입니다.

SQL WHERE IN 절은 어떻게 작동합니까?

이 절은 지정된 열을 목록의 각 값과 비교하여 작동합니다. 열이 목록의 값과 일치하면 해당 행이 결과 집합에 포함됩니다.

"customer_id", "customer_name" 및 "country"의 세 열로 구성된 "customers"라는 테이블이 있다고 가정해 보겠습니다. 미국, 캐���다 및 멕시코에서 모든 고객을 검색하려고 합니다. 다음 쿼리는 WHERE IN 절이 사용되는 방법을 보여줍니다. SELECT customer_id, customer_name, country FROM customers WHERE country IN ('USA','Canada','Mexico');

SQL WHERE IN 절의 예

가능한 값 목록을 기반으로 결과를 필터링하려는 경우 SQL WHERE IN 절을 사용할 수 있습니다. 이 절은 특정 열이 값 집합 중 하나와 일치하는 행을 쉽게 선택할 수 있는 방법을 제공합니다.

다음은 절을 사용할 수 있는 방법에 대한 다섯 가지 예입니다.

  1. 단일 값과 함께 SQL WHERE IN 절 사용

상태 열이 "게시됨"으로 설정된 테이블의 모든 행을 선택한다고 가정해 보겠습니다. 다음 SQL 문을 사용하여 이 작업을 수행할 수 있습니다.

SELECT * 
FROM my_table 
WHERE status IN ('published');

이렇게 하면 상태 열이 "게시됨"으로 설정된 모든 행이 반환됩니다.

  1. 여러 값과 함께 SQL WHERE IN 절 사용

이제 상태 열이 "게시됨" 또는 "초안"으로 설정된 모든 행을 선택한다고 가정해 보겠습니다. 다음 SQL 문을 사용할 수 있습니다.

SELECT * 
FROM my_table 
WHERE status IN ('published', 'draft');

이렇게 하면 상태 열이 "게시됨" 또는 "초안"으로 설정된 모든 행이 반환됩니다. 또한 쉼표로 구분하여 원하는 만큼 값을 추가할 수 있습니다.

  1. Delete 문과 함께 SQL WHERE IN 절 사용

다음 데이터가 포함된 "customers"라는 테이블이 있다고 가정합니다.

SQL WHERE IN – 예제로 설명

"City" 열의 여러 값을 기반으로 이 테이블에서 행을 삭제하려면 다음 쿼리와 같이 SQL WHERE IN 절을 DELETE 문과 함께 사용할 수 있습니다.

DELETE FROM customers
WHERE City IN ('New York', 'Chicago', 'Miami');

이 문은 "City" 열 이름이 목록의 값(예: 'New York', 'Chicago', 'Miami')과 일치하는 "customers" 테이블에서 모든 행을 삭제합니다. 위의 예에서는 테이블에서 첫 번째, 세 번째 및 다섯 번째 행을 삭제합니다.

DELETE 문과 함께 WHERE IN 절을 사용할 때 올바른 데이터를 삭제하고 있는지 확인하여 실수를 방지하도록 매우 주의해야 합니다. 전체 데이터베이스에서 쿼리를 실행하기 전에 작은 데이터 하위 집합에서 쿼리를 테스트하는 것이 가장 좋습니다.

  1. WHERE IN 연산자 및 SQL WHERE 절을 사용하여 숫자 값을 기준으로 데이터 필터링

SELECT *
FROM customers
WHERE age IN (25, 30, 35)
AND city = 'London';

이 쿼리는 age 열에 숫자 값 25, 30 또는 35가 포함되고 city 열에 값 "London"이 포함된 "customers" 테이블의 모든 행을 반환합니다.

WHERE IN 연산자는 단일 열에 대해 여러 값을 지정할 수만 있는 논리 연산자입니다. SELECT 문은 테이블에서 데이터를 검색하는 데 사용되며 WHERE 절은 특정 조건에 따라 데이터를 필터링하는 데 사용됩니다.

이 예에서 쿼리는 나이 열이 지정된 숫자 값 중 하나와 일치하고 도시 열이 "런던" 값과 일치하는 "고객" 테이블의 행을 반환합니다. 이 쿼리에 사용된 컬럼 이름은 "age"와 "city"이고 쿼리되는 테이블은 "customers"입니다.

  1. SELECT 문 및 IN 연산자와 함께 WHERE IN 사용.

SELECT *
FROM orders
WHERE customer_id IN (
    SELECT customer_id
    FROM customers
    WHERE country = 'USA'
);

이 예제에서는 국가 열에 "USA" 값이 포함된 "customers" 테이블에서 모든 고객 ID를 검색하기 위해 하위 쿼리를 사용하고 있습니다. 그런 다음 WHERE IN 연산자를 사용하여 해당 고객 ID를 기반으로 "주문" 테이블을 필터링합니다.

이 쿼리는 하위 쿼리에서 반환된 고객 ID 중 하나와 일치하는 customer_id 열이 있는 주문 테이블의 모든 행을 반환합니다.

WHERE IN 연산자는 열을 값 목록과 비교할 수 있는 비교 연산자입니다. 이 경우에는 customer_id 열을 하위 쿼리에서 반환된 고객 ID 목록과 비교합니다.

이 연산자와 하위 쿼리를 사용하여 특정 기준에 따라 데이터를 필터링하고 필요에 맞는 데이터만 검색할 수 있습니다.

2 SQL WHERE IN 절 사용의 주요 이점?

  1. 향상된 쿼리 성능

이 절은 쿼리 성능 측면에서 가장 큰 이점 중 하나를 제공합니다. 여러 값을 기반으로 데이터를 필터링할 때 절을 사용하는 것이 OR 연산자로 여러 WHERE 절을 작성하는 것보다 훨씬 더 효율적이고 빠를 수 있습니다. 이는 데이터베이스 엔진이 쿼리 실행 계획을 최적화하여 필요한 데이터를 효율적으로 검색할 수 있기 때문입니다.

예를 들어 국가를 기반으로 고객 세부 정보를 식별하려고 하는 "customers" 테이블이 있는 다음 SQL 쿼리를 고려하십시오.

SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers WHERE country='USA' 
			OR country='Canada' 
			OR country='Mexico' ;

SQL WHERE IN – 예제로 설명

 SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers 
WHERE country IN ('USA', 'Canada', 'Mexico'); 

SQL WHERE IN – 예제로 설명

위의 예에서 볼 수 있듯이 절을 사용하면 쿼리 성능이 크게 향상되고 시간을 절약할 수 있습니다. 훨씬 더 큰 데이터 세트에서 OR 연산자를 사용하여 국가를 차례로 선택하는 것보다 한 번에 모든 국가를 선택하는 것이 더 쉽습니다.

  1. 간소화된 쿼리 작성

SQL WHERE IN 절 사용의 또 다른 주요 이점은 복잡한 쿼리 작성 프로세스를 단순화할 수 있다는 것입니다. 여러 값을 기반으로 데이터를 필터링해야 하는 경우 OR 연산자와 함께 여러 WHERE 절을 사용하면 금방 번거롭고 관리하기 어려워질 수 있습니다.

이 절을 사용하면 단일 문에서 필터링하려는 모든 값을 지정할 수 있으므로 쿼리를 더 쉽게 읽고 유지 관리할 수 있습니다. 이는 대규모 데이터 세트로 작업하거나 여러 조건으로 복잡한 쿼리를 작성해야 할 때 특히 유용할 수 있습니다.

예를 들어 다음 SQL 쿼리를 고려하십시오.

SELECT *
FROM products 
WHERE category='Electronics' AND (brand='Apple' OR brand='Samsung' OR brand='Sony') 
SELECT *
FROM products 
WHERE category='Electronics' AND brand IN ('Apple', 'Samsung', 'Sony') 

위 예의 두 쿼리에서 쿼리는 Apple, Samsung 및 Sony의 모든 "전자 제품" 제품을 반환합니다.

그러나 후자의 쿼리에서 볼 수 있듯이 WHERE IN 절을 사용하면 복잡한 쿼리를 사용하는 과정을 단순화하고 읽고 이해하기 쉽게 만들 수 있습니다.

또한 오류를 방지하고 시간 소모를 줄이는 데 도움이 됩니다.

우리의 마지막 말

축하해요! 이제 SQL WHERE IN 절을 사용하여 값 목록을 기반으로 데이터를 필터링하는 방법을 알게 되었습니다. 배운 내용을 평가해 보겠습니다.

WHERE IN을 사용하면 다양한 SQL 쿼리를 단순화하고 이를 생성하여 보다 효율적으로 작성된 출력을 검색할 수 있습니다.

WHERE IN은 여러 OR 조건의 줄임말이므로 긴 OR 문 목록을 대체할 수 있습니다. 또한 이 절은 하위 쿼리와 함께 사용할 수 있으므로 다른 쿼리의 결과를 기반으로 데이터를 필터링할 수 있습니다.

WHERE IN을 사용할 때 비교하는 값의 데이터 유형을 고려하는 것이 중요합니다. 데이터 유형이 일치하지 않는 경우 정확한 비교를 위해 유형 변환 기능을 사용해야 할 수 있습니다.

전반적으로 SQL WHERE IN 절은 SQL 쿼리에서 데이터를 필터링하기 위한 강력하면서도 기본적인 구문입니다. 이 절을 마스터하면 SQL 코드의 성능과 가독성을 개선하여 장기적으로 작업하고 유지하기가 더 쉬워집니다.

Leave a Comment

SharePoint의 계산된 열 | 개요

SharePoint의 계산된 열 | 개요

SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.

Power Apps에서 변수 만들기: 컬렉션 작업

Power Apps에서 변수 만들기: 컬렉션 작업

컬렉션 변수를 사용하여 Power Apps에서 변수 만드는 방법 및 유용한 팁에 대해 알아보세요.

Microsoft Flow HTTP 트리거 | Power Automate 자습서

Microsoft Flow HTTP 트리거 | Power Automate 자습서

Microsoft Flow HTTP 트리거가 수행할 수 있는 작업과 Microsoft Power Automate의 예를 사용하여 이를 사용하는 방법을 알아보고 이해하십시오!

Power Automate 흐름: 사용법 및 유형 설명

Power Automate 흐름: 사용법 및 유형 설명

Power Automate 흐름 및 용도에 대해 자세히 알아보세요. 다양한 작업 및 시나리오에 사용할 수 있는 다양한 유형의 흐름에 대해 설명합니다.

흐름에서 Power Automate 종료 작업 제어

흐름에서 Power Automate 종료 작업 제어

조건이 충족되지 않는 경우 흐름에서 작업을 종료하는 Power Automate 종료 작업 컨트롤을 올바르게 사용하는 방법을 알아봅니다.

PowerApps 시작 기능: 앱에서 다른 서비스를 시작하는 방법

PowerApps 시작 기능: 앱에서 다른 서비스를 시작하는 방법

PowerApps 실행 기능에 대해 자세히 알아보고 자신의 앱에서 바로 웹사이트, 전화, 이메일 및 기타 앱과 같은 기타 서비스를 실행하십시오.

Power Automate의 HTTP 요청 – 소개

Power Automate의 HTTP 요청 – 소개

타사 애플리케이션 통합과 관련하여 Power Automate의 HTTP 요청이 작동하는 방식을 배우고 이해합니다.

Power Automate Desktop: 마우스 클릭 보내기 기능을 사용하는 방법

Power Automate Desktop: 마우스 클릭 보내기 기능을 사용하는 방법

Power Automate Desktop에서 Send Mouse Click을 사용하는 방법을 알아보고 이것이 어떤 이점을 제공하고 흐름 성능을 개선하는지 알아보십시오.

PowerApps 변수: 컨텍스트 및 전역 변수 식별

PowerApps 변수: 컨텍스트 및 전역 변수 식별

PowerApps 변수의 작동 방식, 다양한 종류, 각 변수가 앱에 기여할 수 있는 사항을 알아보세요.

Power Automate에서 실행할 데스크톱 흐름 예약

Power Automate에서 실행할 데스크톱 흐름 예약

이 자습서에서는 Power Automate를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.