06. SQL 패턴 매칭 검색

1. 패턴 매칭에 의한 검색

1.1. - LIKE

1.1.1. LIKE 술어

1
컬럼명 LIKE 패턴
  • 패턴 매칭 / 부분 검색
  • 특정 문자나 문자열이 포함된 데이터를 검색하는 경우 사용

1.1.2. 메타문자 (와일드카드)

1
컬럼명 LIKE '%SQL_'
  • 임의의 문자 또는 문자열을 의미
  • % : 임의의 문자열 (빈 문자열에도 매치함)
  • _ : 임의의 문자 하나
  • SELECT 문에서 많이 쓰이는 *는 LIKE에서 사용할 수 없음

1.1.3. 이스케이프

1
\% \_
  • 와일드 카드 % _ 의 경우
    • 앞에 \를 붙임 = 메타 문자가 아닌 일반 문자를 의미
      WHERE text LIKE '%\%%
      WHERE text LIKE '%\_%
  • 문자열 상수 ’ 의 경우
    • 앞에 '를 하나 더 붙임
    • 표준 SQL에서 ''를 2개 기술하는 것으로 이스케이프 처리 가능
      WHERE text LIKE '%''SQL''%

1.1.4. * 추가 - LIKE 연산자는 대소문자를 구분 한다.

  • UPPER() / LOWER()
  • UPPER()나 LOWER() 함수를 이용해 대소문자 구분없이 검색, 출력 할 수 있다.
1
2
WHERE  UPPER(column) LIKE '%sqL%'
WHERE LOWER LOWER(column) LIKE '%sqL%'

1.1.5. * 추가 - 여러 조건 나열 시 성능을 생각하는 순서

  • 점 조건 (IN, = 연산자) 먼저
  • 선분 조건 (<, >, LIKE, BETWEEN 연산자) 나중에