LIKE 조건식
LIKE 조건식은 문자열의 패턴을 검색할 때 사용하는 조건식이다. 예를 들어, 사원 테이블에서 사원이름이 ‘A’로 시작되는 사원을 조회하는 쿼리를 작성한다면 다음과 같이 LIKE 조건식을 사용한다.
입력
SELECT emp_name
FROM employees
WHERE emp_name LIKE 'A%'
ORDER BY emp_name;
결과
EMP_NAME
-------------------------------
Adam Fripp
Alana Walsh
Alberto Errazuriz
Alexander Hunold
Alexander Khoo
Alexis Bull
Allan McEwen
Alyssa Hutton
Amit Banda
Anthony Cabrio
10개의 행이 선택됨
LIKE ‘A%’의 의미는 사원명 첫 글자는 ‘A’로 시작하되 나머지는 어떤 글자가 와도 상관없이 모두 조회하라는 의미다.
입력
SELECT emp_name
FROM employees
WHERE emp_name LIKE 'Al%'
ORDER BY emp_name;
결과
EMP_NAME
-------------------------------
Alana Walsh
Alberto Errazuriz
Alexander Hunold
Alexander Khoo
Alexis Bull
Allan McEwen
Alyssa Hutton
7개의 행이 선택됨.
Al로 시작되는 모든 사원을 조회한 쿼리다. ‘%’는 앞, 뒤, 중간 어디나 올 수 있으며 조건식을 검색할 때 대소문자를 구분한다는 점을 주의하자. ‘%’와는 다르게 ‘_’(밑줄, 언더스코어)는 나머지 글자 전체가 아닌 한 글자만 비교한다.
입력
CREATE TABLE ex3_5 (
names VARCHAR2(30));
결과
table EX3_5이(가) 생성되었습니다.
입력
INSERT INTO ex3_5 VALUES ('홍길동');
INSERT INTO ex3_5 VALUES ('홍길용');
INSERT INTO ex3_5 VALUES ('홍길상');
INSERT INTO ex3_5 VALUES ('홍길상동');
SELECT *
FROM ex3_5
WHERE names LIKE '홍길%';
결과
NAMES
---------
홍길동
홍길용
홍길상
홍길상동
입력
SELECT *
FROM ex3_5
WHERE names LIKE '홍길_';
결과
NAMES
--------
홍길동
홍길용
홍길상
결과를 보면 알 수 있듯이, ‘홍길상동’의 경우 ‘%’를 사용했을 때는 조회되었으나, ‘_’를 사용했을 때는 한 글자만 비교하므로 검색되지 않았다.