[Oracle SQL] 오라클 LIKE 사용법 알아보기

2021-05-03


Photo by Troy Spoelma on Unsplash

LIKE를 사용하면 SQL 내부에서 특정 조건에 맞는 문자열을 추출할 수 있는데 이 방법을 알아보도록 하자.


- 예제

 

아래는 예제로 사용될 테이블인 SEE_INFO 테이블이다. 

 


- 상황1

 

이름에 TEST가 들어간 사람들만 추출해보자.

 

SELECT * FROM SEE_INFO WHERE NAME LIKE 'TEST%';
SELECT * FROM SEE_INFO WHERE NAME LIKE 'TES%';
SELECT * FROM SEE_INFO WHERE NAME LIKE 'TE%';
SELECT * FROM SEE_INFO WHERE NAME LIKE 'T%';

 

'문자%'의 의미는 주어진 문자로 시작하는 모든 데이터를 추출하게 된다. 때문에 위의 4개의 코드는 모두 똑같은 동작을 하며 결과로는 아래와 같이 출력된다.

 


- 상황 2

 

이름이 A로 시작해서 A로 끝나는 사람을 찾아보자.

 

SELECT * FROM SEE_INFO WHERE NAME LIKE '%A' AND NAME LIKE 'A%';

 

해당 코드는 A로 시작해서 A로 끝나는 문자열만 추출하게 된다. 혹시 코드를 보고 '%A%'로 해도 되지 않을까? 라고 생각할 수 도 있는데 이는 A가 포함되기만 하면 모두 추출하기 때문에 주어진 상황과는 맞지 않다. 떄문에 위의 코드와 같이 작성해야 하며, 결과를 보면 아래와 같이 출력되게 된다. 

 


- 상황 3

 

이름에 두 번째 글자가 C인 사람을 찾아보자.

 

SELECT * FROM SEE_INFO WHERE NAME LIKE '_C%';

 

_ 는 하나의 문자와 대응하게 된다. 때문에 _문자 뒤에 C%를 붙여주게 되면 이름의 두번째 자리가 C로 시작하는 사람들을 찾게 된다. 결과는 아래와 같이 나타난다.

 


메인 이미지 링크: Photo by Troy Spoelma on Unsplash