집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 `LIKE`와 `IN` 연산자를 결합할 수 있습니까? 그렇지 않은 경우 대안은 무엇입니까?
SQL에서 LIKE
및 IN
결합: 직접 결합의 대안
SQL의 LIKE
연산자는 패턴 일치를 용이하게 하는 반면, IN
는 값 집합에 속하는지 확인합니다. 직접 조합을 사용할 수는 없지만 여러 LIKE
조건을 처리하거나 LIKE
을 일련의 값과 결합하는 효율적인 대안이 있습니다.
다양한 LIKE
조건의 도전
OR
와 함께 여러 LIKE
문을 사용하면 여러 패턴에 대해 다루기 힘들고 비효율적일 수 있습니다.
<code class="language-sql">WHERE something LIKE 'bla%' OR something LIKE '%foo%' OR something LIKE 'batz%'</code>
전체 텍스트 검색: 강력한 솔루션
여러 LIKE
조건이 필요하거나 LIKE
과 값 집합의 조합이 필요한 시나리오의 경우 FTS(전체 텍스트 검색)가 탁월한 접근 방식을 제공합니다. Oracle과 SQL Server 모두 FTS 기능을 제공합니다.
오라클의 FTS 구현
Oracle은 CONTAINS
연산자와 함께 OR
키워드를 사용하여 원하는 효과를 얻습니다.
<code class="language-sql">WHERE CONTAINS(t.something, 'bla OR foo OR batz', 1) > 0</code>
SQL Server의 FTS 구현
SQL Server도 CONTAINS
을 사용하지만 패턴 일치 구문이 약간 다릅니다.
<code class="language-sql">WHERE CONTAINS(t.something, '"bla*" OR "foo*" OR "batz*"')</code>
중요 사항: 최적의 FTS 성능을 위해서는 관련 열(이 예에서는 t.something
)이 전체 텍스트 인덱스를 사용하여 올바르게 인덱싱되었는지 확인하세요.
추가 자료
위 내용은 SQL에서 `LIKE`와 `IN` 연산자를 결합할 수 있습니까? 그렇지 않은 경우 대안은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!