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 | WHERE UPPER(column) LIKE '%sqL%' |
1.1.5. * 추가 - 여러 조건 나열 시 성능을 생각하는 순서
- 점 조건 (IN, = 연산자) 먼저
- 선분 조건 (<, >, LIKE, BETWEEN 연산자) 나중에