>  기사  >  데이터 베이스  >  보다 강력한 SQL 쿼리를 위해 LIKE와 IN을 결합할 수 있습니까?

보다 강력한 SQL 쿼리를 위해 LIKE와 IN을 결합할 수 있습니까?

DDD
DDD원래의
2024-11-18 07:03:02303검색

Can You Combine LIKE and IN for More Powerful SQL Queries?

고급 SQL 쿼리를 위한 LIKE와 IN 결합

SQL에서는 LIKE 연산자가 패턴 일치에 자주 사용되는 반면 IN 연산자는 허용됩니다. 특정 값 목록과 값을 일치시키려면 이러한 연산자는 다양한 용도로 사용되지만 이를 결합하여 더 강력한 쿼리를 생성할 수 있습니다.

다음 시나리오를 고려해 보겠습니다. "company_id"라는 열이 있는 테이블이 있고 해당 연산자가 있는 모든 행을 선택하려고 합니다. "company_id"는 "M510", "M615", "M515", "M612"와 같은 특정 문자열로 시작합니다.

한 가지 접근 방식은 다음과 같이 LIKE 연산자를 사용하는 것입니다.

SELECT * FROM tablename WHERE company_id LIKE 'M510%'

단, "M510"으로 시작하는 행만 정확하게 일치합니다. 여러 문자열을 일치시키려면 여러 쿼리를 만들어야 합니다.

IN에 하위 문자열 사용

더 효율적인 솔루션은 IN 연산자와 함께 하위 문자열을 사용하는 것입니다. SUBSTRING() 함수는 문자열에서 지정된 위치부터 시작하여 지정된 수의 문자를 추출합니다.

이 시나리오에서는 다음 쿼리를 사용할 수 있습니다.

SELECT * FROM tablename
WHERE SUBSTRING(company_id, 1, 4) IN ('M510', 'M615', 'M515', 'M612')

이 쿼리는 "compan_id" 열에서 처음 4자를 추출하고 IN 절에 지정된 값 목록에 해당 문자가 있는지 확인합니다. 부분 문자열을 IN과 결합하면 문자열 배열을 반복할 필요 없이 원하는 패턴 일치를 얻을 수 있습니다.

위 내용은 보다 강력한 SQL 쿼리를 위해 LIKE와 IN을 결합할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.