[개발] 프로그램 지식

[SQL] oracle like 문법, 사용방법, 예시

  • -
반응형

Oracle SQL의 LIKE 연산자: 문법과 사용 예제

1. LIKE 연산자란?

LIKE 연산자는 Oracle SQL에서 문자열을 비교할 때 사용되는 연산자로, 특정 패턴과 일치하는 데이터를 검색할 수 있습니다. LIKE는 주로 WHERE 절과 함께 사용되며, 와일드카드 문자를 지원하여 유연한 검색을 제공합니다.

 

 

 

 

 

2. LIKE 연산자의 문법


SELECT column_name
FROM table_name
WHERE column_name LIKE pattern;

pattern은 검색하려는 패턴을 정의하며, 다음 두 가지 와일드카드 문자를 사용할 수 있습니다:

  • %: 0개 이상의 문자를 대체.
  • _: 정확히 1개의 문자를 대체.

 

 

 

 

 

 

 

3. LIKE 연산자 사용 예제

1) 특정 문자열로 시작하는 데이터 검색


SELECT * 
FROM employees 
WHERE first_name LIKE 'J%';

위 쿼리는 first_name이 'J'로 시작하는 모든 행을 반환합니다.

 

 

 

 

 

 

2) 특정 문자열로 끝나는 데이터 검색


SELECT * 
FROM employees 
WHERE first_name LIKE '%n';

위 쿼리는 first_name이 'n'으로 끝나는 모든 행을 반환합니다.

 

 

 

 

 

 

 

3) 특정 문자를 포함하는 데이터 검색


SELECT * 
FROM employees 
WHERE first_name LIKE '%ohn%';

위 쿼리는 first_name에 'ohn'이 포함된 모든 행을 반환합니다.

 

 

 

 

 

 

 

4) 정확히 한 글자 대체


SELECT * 
FROM employees 
WHERE first_name LIKE '_a%';

위 쿼리는 두 번째 글자가 'a'인 모든 행을 반환합니다.

 

 

 

 

 

 

 

5) 여러 패턴 검색


SELECT * 
FROM employees 
WHERE first_name LIKE 'A%' OR first_name LIKE 'B%';

위 쿼리는 first_name이 'A' 또는 'B'로 시작하는 모든 행을 반환합니다.

 

 

 

 

 

 

 

4. LIKE 연산자와 대소문자

Oracle SQL의 LIKE 연산자는 기본적으로 대소문자를 구분합니다. 대소문자를 구분하지 않으려면 LOWER() 또는 UPPER() 함수를 사용할 수 있습니다:


SELECT * 
FROM employees 
WHERE LOWER(first_name) LIKE 'j%';

 

 

 

 

 

 

 

5. LIKE 연산자와 ESCAPE 사용

와일드카드 문자(%, _)를 검색하려면 ESCAPE 키워드를 사용합니다:


SELECT * 
FROM employees 
WHERE first_name LIKE '%\%%' ESCAPE '\';

위 쿼리는 '%' 문자가 포함된 데이터를 검색합니다.

 

 

 

 

 

 

 

 

6. 성능 최적화

  • 인덱스 활용: 와일드카드 문자를 처음에 사용하면 인덱스가 작동하지 않으므로, 가능하면 피하세요.
  • FULLTEXT 인덱스: 대규모 데이터 검색 시 FULLTEXT 인덱스를 고려하세요.

 

 

 

 

 

 

 

 

7. 결론

Oracle SQL의 LIKE 연산자는 문자열 검색을 유연하고 강력하게 수행할 수 있는 도구입니다. 와일드카드와 함께 사용하여 다양한 패턴 매칭 작업을 처리할 수 있으며, 대소문자 구분, 성능 최적화, ESCAPE 기능을 활용하면 더욱 효과적으로 사용할 수 있습니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.