집 >데이터 베이스 >MySQL 튜토리얼 >MySQL의 LIKE 연산자를 사용하여 여러 값을 효율적으로 쿼리하는 방법은 무엇입니까?
MySQL LIKE 쿼리의 여러 값
데이터베이스에서 LIKE 연산자는 일반적으로 문자열의 패턴을 일치시키는 데 사용됩니다. 그러나 단일 필드 내에서 여러 값에 대한 일치 항목을 찾아야 하는 경우 까다로울 수 있습니다. 이 문서에서는 MySQL에서 LIKE 연산자를 사용하여 여러 값을 쿼리하는 문제를 살펴봅니다.
LIKE 쿼리가 작동하지 않는 이유
제공된 쿼리에 따라:
SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
이 쿼리는 'interests' 필드에 'sports', 'pub' 또는 둘 다 포함된 행을 검색합니다. 그러나 LIKE는 지정된 패턴이 있는지 순차적으로 확인하므로 원하는 결과를 얻지 못할 수 있습니다. 이 경우 모든 행에 존재하는 '%sports%'를 먼저 찾고, 한 행에만 존재하는 '%pub%'를 찾습니다. 따라서 '스포츠'와 '펍'이 모두 포함된 행만 얻게 됩니다.
더 빠르고 효율적인 솔루션
여러 패턴으로 LIKE를 사용하는 대신, 다음 대안을 고려하십시오.
또는 논리적 연산자:
WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
이 쿼리는 OR 논리 연산자를 사용하여 두 개의 LIKE 문을 결합합니다. 두 패턴 중 하나와 일치하는 행을 반환합니다. 이 방법은 일반적으로 여러 패턴을 사용하는 LIKE보다 빠릅니다.
REGEXP 정규 표현식:
WHERE interests REGEXP 'sports|pub'
REGEXP 연산자를 사용하면 정규 표현식을 검색할 수 있습니다. 이 경우 'sports|pub'이라는 표현은 'sports' 또는 'pub'과 일치하는 항목을 찾는다는 의미입니다. REGEXP는 보다 복잡한 패턴 일치를 위한 강력한 도구가 될 수 있습니다.
참조 링크:
위 내용은 MySQL의 LIKE 연산자를 사용하여 여러 값을 효율적으로 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!