>데이터 베이스 >MySQL 튜토리얼 >SQL의 LIKE 연산자와 함께 여러 조건을 효율적으로 사용하려면 어떻게 해야 합니까?

SQL의 LIKE 연산자와 함께 여러 조건을 효율적으로 사용하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-08 14:17:42749검색

SQL LIKE 연산자를 효율적으로 사용하기 위한 여러 조건

SQL의 LIKE 연산자는 지정된 패턴이 포함된 문자열을 검색하는 데 사용됩니다. 일반적으로 일치 패턴에 %와 같은 와일드카드 문자를 추가합니다. 그러나 LIKE를 사용하여 여러 조건을 도입하려는 경우 기존 OR 방법이 최선의 선택이 아닐 수 있습니다.

대안: 임시 테이블

LIKE 연산자에 여러 조건을 도입하는 더 좋은 방법은 임시 테이블을 만드는 것입니다. 예시는 다음과 같습니다.

<code class="language-sql">CREATE TEMPORARY TABLE patterns (
  pattern VARCHAR(20)
);

INSERT INTO patterns VALUES ('ABC%'), ('XYZ%'), ('PQR%');

SELECT t.*
FROM tbl t
JOIN patterns p ON (t.col LIKE p.pattern);</code>

이 예에서는 일치하는 여러 패턴을 저장하기 위해 패턴이라는 임시 테이블을 만듭니다. 그런 다음 필요한 스키마를 이 테이블에 삽입합니다. 마지막으로 tbl 테이블과 패턴 테이블 사이에 JOIN 연산을 수행하여 패턴 열을 기준으로 일치하는 행을 찾습니다.

독특한 매치

위 예에서는 패턴이 고유하고 tbl 테이블의 각 행이 하나의 패턴에만 일치한다고 가정합니다. 그러나 일치 가능성이 여러 개인 경우 DISTINCT 쿼리 수정자를 사용하여 고유한 결과를 보장할 수 있습니다.

<code class="language-sql">SELECT DISTINCT t.*
FROM tbl t
JOIN patterns p ON (t.col LIKE p.pattern);</code>

이 수정을 통해 tbl 테이블의 각 행이 여러 패턴과 일치하더라도 결과에 한 번만 표시되도록 보장합니다.

How Can I Efficiently Use Multiple Conditions with SQL's LIKE Operator?

위 내용은 SQL의 LIKE 연산자와 함께 여러 조건을 효율적으로 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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