고급 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