SQL 데이터 조회와 필터링 : LIKE 연산자
LIKE 연산자
이 학습은 패스트캠퍼스의 올인원 패키지 : 모두를 위한 SQL/DB 강의를 듣고 복습하는 내용입니다.
LIKE 연산자 문법
특정 집합을 추력 시 출력하는 행의 수를 한정하는 역할을 한다. 부분 범위 처리시 사용된다.
● LIKE
>> COLUNM_NAME 컬럼의 값이 특정 패턴과 유사한 집합을 출력한다.
● NOT LIKE
>> COLUNM_NAME 컬럼의 값이 특정 패턴과 유사하지 않은 집합을 출력한다.
## 특정 패턴에서 ‘%’ 는 어떤 문자 혹은 문자열이든지 매칭 되었다고 판단한다.
## 특정 패턴에서 ‘_‘는 한 개의 문자가 어떤 문자이든지 매칭 되었다고 판단한다.
LIKE 연산자 실습
● 기본 실습
- 쿼리문
SELECT
FIRST_NAME
, LAST_NAME
FROM
CUSTOMER
WHERE
FIRST_NAME LIKE 'Jen%';
- 실행 결과
>> FIRST_NAME이 ‘Jen’ 으로 시작하는 집합을 출력한다.
즉, ‘Jen’ 이후의 문자 혹은 문자열은 모두 매칭된다.
● % 와 _ 예시
- 쿼리문
SELECT
'FOO' LIKE 'FOO'
, 'FOO' LIKE 'F%'
, 'FOO' LIKE '_O_'
, 'BAR' LIKE 'B_'
;
- 실행결과
>> [v] 가 True를 의미한다.
>> ‘FOO’는 ‘FOO’ 이므로 참이다.
‘F%’는 ‘F’로 시작하면 모두 참이다.
‘O‘는 3자리 문자열이고 가운데 무너자가 ‘O’라면 참이다.
‘B_‘는 2자리 문자열이고 ‘B’로 시작하기만 하면 두번째 문자는 무엇이든 간에 참이다. 하지만 ‘BAR’은 3자리 이므로 거짓이다.
● 앞뒤에 % 사용
- 쿼리문
SELECT
FIRST_NAME
, LAST_NAME
FROM
CUSTOMER
WHERE
FIRST_NAME LIKE '%er%';
- 실행 결과
>> FIRST_NAME에 ‘er’이 존재하는 모든 집합을 출력한다.
● 앞에 _ , 뒤에 % 사용
- 쿼리문
SELECT
FIRST_NAME
, LAST_NAME
FROM
CUSTOMER
WHERE
FIRST_NAME LIKE '_her%';
- 실행 결과
>> 첫번째 문자가 어떠한 문자로 시작 가능하지만 그 다음이 ‘her이어야 하고 그 다음에는
어떤 문자 혹은 문자열이 이어도 상관없는 집합이 출력된다.
● NOT LIKE 연산자
- 조건문
SELECT
FIRST_NAME
, LAST_NAME
FROM
CUSTOMER
WHERE
FIRST_NAME NOT LIKE 'Jen%';
- 실행 결과
>> Jen으로 시작하지 않는 것들만 추출한다.