SQL의 IN 절에 있는 여러 열 쿼리
특정 열의 값 집합을 기반으로 데이터베이스 테이블을 쿼리할 때 IN 절은 편리한 옵션입니다. 그러나 여러 열을 처리할 때는 IN 절을 사용할 수 없게 됩니다.
이 문제를 극복하기 위해 일반적인 접근 방식에는 조인 또는 EXISTS 절을 사용하는 것이 있습니다. 그러나 이러한 방법을 사용하려면 기본 테이블과 검색 데이터가 모두 데이터베이스에 있어야 합니다.
열(firstName, lastName, City)이 있는 User 테이블이 있고 다음을 수행해야 하는 사용 사례를 고려해보세요. (이름, 성) 튜플 목록에 대한 도시를 검색합니다. 두 가지 잠재적 솔루션 등장:
솔루션 1:
OR 조건을 포함하는 긴 SELECT 쿼리 구성:
SELECT city FROM user WHERE (firstName=x and lastName=y) or (firstName=a and lastName=b) or ...
솔루션 2:
firstName이 모두 포함된 스테이징 테이블을 만듭니다. 및 lastName 값을 사용하고 User 테이블과 Staging 테이블 간의 조인을 수행합니다.
대체 솔루션:
다행히도 IN을 사용하여 여러 열을 쿼리하는 간단한 방법이 있습니다. 절:
SELECT city FROM user WHERE (firstName, lastName) IN (('a', 'b'), ('c', 'd'));
SQLfiddle 데모:
[Sqlfiddle Demo](
이 솔루션은 조인이나 EXISTS 절을 사용하지 않고 IN 절에서 여러 열을 쿼리하는 문제를 효과적으로 해결합니다. 원하는 데이터를 검색하는 효율적이고 간결한 접근 방식을 제공합니다.
위 내용은 IN 절을 사용하여 SQL에서 여러 열을 쿼리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!