"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 보다 강력한 SQL 쿼리를 위해 LIKE와 IN을 결합할 수 있습니까?

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

2024년 11월 15일에 게시됨
검색:865

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')

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

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3