PostgreSQL LIKE, Not Like, 와일드카드(%, _ ) 예

⚡ 스마트 요약

PostgreSQL LIKE 연산자는 퍼센트 기호(%)와 밑줄(_)이라는 두 가지 와일드카드를 사용하여 특정 패턴과 일치하는 텍스트를 찾습니다. 이 튜토리얼에서는 SELECT 문에서 LIKE와 NOT LIKE를 사용하는 방법을 psql 및 pgAdmin 예제를 통해 보여줍니다.

  • 🔍 핵심 Opera토르: LIKE 연산자는 열 또는 표현식을 와일드카드 패턴과 비교하고 일치하는 경우 true를 반환합니다.
  • 🌟 두 명의 와일드카드: % 0개 이상의 문자와 일치합니다. _ 정확히 한 문자와 일치합니다.
  • 역방향 일치: NOT과 LIKE를 결합하여 조건을 만족하는 행을 반환합니다. 지원 패턴을 맞춰보세요.
  • 🛠️ 두 가지 인터페이스: psql 명령줄 또는 pgAdmin 내에서 그래픽 인터페이스를 통해 동일한 쿼리를 실행하십시오.
  • 🎯 캐릭터 탈출: 패턴 내의 % 또는 _ 문자를 일치시키려면 ESCAPE 절을 사용하십시오.
  • 🤖 AI 부스트: AI 데이터베이스 도구는 일반 언어로 작성된 검색 요구 사항을 유사 패턴으로 변환하고, 대소문자를 구분하지 않는 일치 검색이 필요한 경우 유사 패턴을 제안합니다.

PostgreSQL LIKE, Not Like, 와일드카드(%, _ ) 예

The PostgreSQL LIKE LIKE 연산자는 와일드카드를 사용하여 텍스트 값을 패턴과 비교합니다. 검색 표현식이 패턴과 일치하면 LIKE는 결과를 반환합니다. true와일드카드는 다음과 같은 방식으로 작동합니다. WHERE 조항 SELECT, UPDATE, INSERTDELETE.

무엇인가 PostgreSQL 와일드카드?

PostgreSQL LIKE 와일드카드를 두 개까지 지원합니다.

  • 퍼센트 기호(%): 0개, 1개 또는 여러 개의 문자나 숫자와 일치합니다.
  • 밑줄(_): 정확히 하나의 문자 또는 숫자와 일치합니다.

두 기호는 같은 패턴 내에서 함께 사용할 수 있습니다. 와일드카드 없이 LIKE를 사용하면 등호( )처럼 동작합니다.=) 운영자.

PostgreSQL 유사 구문

LIKE 구문의 기본 형태는 다음과 같습니다.

expression LIKE pattern [ ESCAPE 'escape-character' ]
  • 표현 — 문자 표현식으로, 일반적으로 열 또는 필드 이름입니다.
  • 무늬 — 와일드카드를 포함하는 문자 표현식입니다.
  • 이스케이프 문자 — 선택 사항입니다. 문자 그대로 일치시킬 수 있습니다. % or _ 문자입니다. 생략할 경우 백슬래시(\)는 기본 이스케이프 문자입니다.

PostgreSQL % 와일드카드를 사용한 것과 같습니다.

The % 부호는 0개, 1개 또는 그 이상의 문자와 일치합니다. 다음을 고려해 보세요. Book 표:

LIKE 예제에 사용된 샘플북 표

제목이 "Lear"로 시작하는 책을 찾으려면 아래 쿼리를 실행하세요.

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

쿼리 결과는 다음과 같습니다.

LEAR%와 유사한 검색 결과가 일치하는 책을 반환합니다.

제목에 "by"가 포함된 책을 찾으려면:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

쿼리 결과는 다음과 같습니다.

%by%와 일치하는 책이 포함된 쿼리 결과

PostgreSQL _ 와일드카드와 함께 좋아요

The _ 기호는 정확히 한 글자와 일치합니다. 다음 쿼리는 첫 번째 문자가 임의의 한 글자이고, 그 뒤에 "earn"이 오고, 그 뒤에 임의의 접미사가 오는 이름을 찾습니다.

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

쿼리 결과는 다음과 같습니다.

LIKE _earn% 쿼리 결과에서 단일 문자 접두사와 일치하는 항목

또 다른 예로, "Beginner" 뒤에 문자 하나가 더해진 텍스트와 일치하는 모든 텍스트를 찾아보세요.

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

쿼리 결과는 다음과 같습니다.

%Beginner_ 쿼리 결과에서 마지막 단일 문자가 일치하는 것과 같은 결과

PostgreSQL 좋아하지 않는 Opera바위 산

LIKE와 NOT을 결합하여 조건을 만족하는 행을 반환합니다. 지원 패턴을 맞춰보세요. 예를 들어, 제목이 "Post"로 시작하지 않는 모든 책을 나열하세요.

SELECT *
FROM
   Book
WHERE
   name NOT LIKE 'Post%';

쿼리 결과는 다음과 같습니다.

Post%로 시작하는 책을 제외한 결과와 다릅니다.

조건을 만족하는 책은 단 한 권뿐입니다. 이제 조건을 만족하는 책의 이름을 모두 나열하세요. 지원 "Made"라는 단어가 포함되어 있습니다.

SELECT *
FROM
   Book
WHERE
   name NOT LIKE '%Made%';

쿼리 결과는 다음과 같습니다.

%Made%와 같은 결과가 아니라 일치하는 책 세 권을 반환하는 결과입니다.

세 줄 모두 조건을 만족합니다.

pgAdmin에서 LIKE 사용하기

동일한 쿼리를 pgAdmin의 쿼리 도구 내에서 그래픽 방식으로 실행할 수도 있습니다.

pgAdmin에서 와일드카드 사용

단계 1) pgAdmin에 로그인하세요.

단계 2) 왼쪽 탐색 모음에서 클릭하세요 데이터베이스다음을 클릭합니다 Rescale과 함께 비즈니스를 가속화하는 방법에 대해 알아보세요..

데이터베이스 및 데모가 확장된 pgAdmin 탐색 트리

단계 3) 쿼리 편집기에 쿼리를 입력하세요.

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

단계 4) 실행하다.

pgAdmin 쿼리 도구의 실행 툴바 버튼

결과 창에는 일치하는 책들이 표시됩니다.

LIKE Lear% 쿼리에 대한 pgAdmin 결과 창

책 제목에 "by"가 포함된 책을 검색하려면 다음 단계를 따르세요.

단계 1) 쿼리 편집기에 다음을 입력하십시오.

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

단계 2) 실행하다.

pgAdmin 쿼리 도구에서 LIKE %by% 쿼리 실행

결과 창에는 다음 내용이 표시됩니다.

LIKE %by% 쿼리에 대한 pgAdmin 결과 창

pgAdmin의 와일드카드

단계 1) pgAdmin에 로그인하세요.

단계 2) 왼쪽 탐색 모음에서 클릭하세요 데이터베이스다음을 클릭합니다 Rescale과 함께 비즈니스를 가속화하는 방법에 대해 알아보세요..

pgAdmin 탐색 트리에서 데이터베이스 트리를 보여줍니다.

단계 3) 쿼리 편집기에 쿼리를 입력하세요.

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

단계 4) 실행하다.

pgAdmin 쿼리 도구에서 LIKE _earn% 쿼리를 실행 중입니다.

결과 창에는 다음 내용이 표시됩니다.

LIKE _earn% 쿼리에 대한 pgAdmin 결과 창

단계 5) 두 번째 예제를 실행해 보세요:

  1. 쿼리 편집기에 쿼리를 입력하세요.
SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';
  1. 실행하다.

pgAdmin 쿼리 도구에서 %Beginner_ 쿼리를 실행합니다.

결과 창에는 다음 내용이 표시됩니다.

LIKE %Beginner_ 쿼리에 대한 pgAdmin 결과 창

pgAdmin과는 다릅니다

단계 1) pgAdmin에 로그인하세요.

단계 2) 왼쪽 탐색 모음에서 클릭하세요 데이터베이스다음을 클릭합니다 Rescale과 함께 비즈니스를 가속화하는 방법에 대해 알아보세요..

pgAdmin 탐색 트리 (NOT IKE 예시)

단계 3) "Post"로 시작하지 않는 모든 책 목록을 보려면 다음을 입력하세요.

SELECT *
FROM
   Book
WHERE
   name NOT LIKE 'Post%';

단계 4) 실행하다.

pgAdmin 쿼리 도구가 Post% 쿼리와 다르게 실행되고 있습니다.

결과 창에는 다음 내용이 표시됩니다.

pgAdmin 결과 창에서 NOT LIKE Post% 쿼리 실행 결과 확인

NOT IKE 쿼리에 대한 추가 pgAdmin 결과 세부 정보

제목에 "Made"라는 단어가 포함되지 않은 책 목록을 작성하려면 다음과 같이 하십시오.

단계 1) 쿼리 편집기에 다음을 입력하십시오.

SELECT *
FROM
   Book
WHERE
   name NOT LIKE '%Made%';

단계 2) 실행하다.

pgAdmin 쿼리 도구가 %Made% 쿼리와 다르게 실행되고 있습니다.

결과 창에는 다음 내용이 표시됩니다.

%Made%와 같지 않음 쿼리에 대한 pgAdmin 결과 창

이 튜토리얼에서 사용된 데이터베이스를 다운로드하세요..

자주 묻는 질문

LIKE는 대소문자를 구분하는 반면 ILIKE는 대소문자를 구분하지 않고 일치시킵니다. ILIKE는 PostgreSQL 확장자를 사용합니다. 예를 들어, 'lear%'라는 이름은 "Learn"과 "LEAR"를 동일하게 인식합니다. 사용자 입력의 대소문자를 예측할 수 없는 경우 ILIKE를 사용하십시오.

ESCAPE 절을 사용하여 이스케이프 문자를 선언한 다음, 해당 문자 앞에 와일드카드를 붙입니다. 예를 들어, WHERE code LIKE '50!%%' ESCAPE '!'는 느낌표가 퍼센트 기호를 이스케이프하므로 "50%"로 시작하는 값을 찾습니다.

간단한 접두사, 접미사 또는 부분 문자열 일치에는 LIKE 연산자를 사용하십시오. 문자 클래스, 대체 문자 또는 수량자가 필요한 경우에는 POSIX 정규 표현식(~ 및 ~*)으로 전환하십시오. 정규 표현식은 더 강력하지만 기본 패턴의 경우 일반적으로 LIKE 연산자보다 속도가 느립니다.

예. AI 텍스트를 SQL로 변환하는 보조 도구와 같은 기능은 "이메일에 acme가 포함된 고객을 찾으세요"와 같은 프롬프트를 name LIKE '%acme%'로 변환하고 와일드카드 논리를 설명하여 임시 보고 속도를 높입니다.

생성형 AI는 쿼리 실행 계획을 검사하고, 선행 와일드카드 LIKE 검색에 적합한 트라이그램 인덱스(pg_trgm)를 추천하며, 인덱스 사용을 방해하는 패턴을 재작성합니다. 이를 통해 대규모 데이터에서 전체 테이블 스캔이 밀리초 단위의 조회 시간으로 단축됩니다. PostgreSQL 테이블.

이 게시물을 요약하면 다음과 같습니다.