Jin's Dev Story

[PostgreSQL] PostgreSQL 패턴 검색 (LIKE 문) 본문

Database/PostgreSQL

[PostgreSQL] PostgreSQL 패턴 검색 (LIKE 문)

woojin._. 2024. 6. 11. 10:33

LIKE 문법

  • 집합에서 어떠한 컬럼의 값이 특정 값과 유사한 패턴을 갖는 집합을 출력하는 연산자

 

기본 문법

    ⇒ % : 문자 혹은 문자열이 매칭 되었다고 판단

    ⇒ _ : 한개의 문자이든지 매칭 되었다고 판단

  • 특정 패턴과 유사한 값을 조회
SELECT *
FROM TABLE_NAME
WHERE COLUMN_NAME
LIKE 특정패턴
  • 특정 패턴과 유사하지 않은 집합
SELECT *
FROM TABLE_NAME
WHERE COLUMN_NAME
NOT LIKE 특정패턴

 

실습

 

 1) CUSTOMER 테이블의 FIRST_NAME이 Jen으로 시작하는 데이터를 조회

SELECT first_name, last_name
FROM CUSTOMER
WHERE first_name LIKE 'Jen%';

 

 2) LIKE 패턴을 참과 거짓으로 표현하는 실습

select
'foo' like 'foo',
'foo' like 'f%',
'foo' like '_o_',
'bar' like 'b_'

-- 
foo = foo는 같으므로 true
foo = f%는 f로 시작하므로 true 
foo = _o_는 3자리이며 2번째 자리가 o이므로 true
bar = b_는 3자리이지만 b_는 2자리이므로 b로 시작하여도 false

 

 3) CUSTOMER 테이블의 FIRST_NAME에 er을 포함한 모든 데이터를 조회

SELECT first_name, last_name
FROM CUSTOMER
WHERE FIRST_NAME LIKE '%er&';

 

 4) CUSTOMER 테이블의 FIRST_NAME의 첫 번째 문자는 어떠한 문자여도 상관이 없으며 다음에 her이 포함된 문자 또는 문자열 조회

SELECT first_name, last_name
FROM CUSTOMER
WHERE FIRST_NAME LIKE '_her%';