SQL LIKE 연산자는 데이터베이스에서 특정 패턴과 일치하는 값을 찾을 때 사용하는 매우 유용한 도구입니다. 마치 퍼즐 조각을 맞추듯, LIKE 연산자는 정확한 값 대신 패턴을 사용하여 데이터를 검색합니다.
LIKE 연산자의 기본 구조
SELECT column_name
FROM table_name
WHERE column_name LIKE 'pattern';
- column_name: 검색을 수행할 열의 이름입니다.
- table_name: 데이터를 검색할 테이블의 이름입니다.
- pattern: 일치시킬 패턴을 나타내는 문자열입니다.
패턴 매칭에 사용되는 와일드카드
LIKE 연산자에서 가장 중요한 부분은 와일드카드입니다. 와일드카드는 특정 문자나 문자열 집합을 나타내는 특수 문자로, 패턴을 더욱 유연하게 만들어줍니다.
1. % (퍼센트): 임의의 문자 0개 이상을 나타냅니다.
예: 'a%'는 'a'로 시작하는 모든 문자열과 일치합니다.
예: '%a%'는 어디에든 'a'가 포함된 모든 문자열과 일치합니다.
2. _ (밑줄): 임의의 단일 문자를 나타냅니다.
예: 'a_b'는 'a' 다음에 임의의 한 문자, 그리고 'b'로 끝나는 모든 문자열과 일치합니다.
LIKE 연산자 활용 예시
특정 문자로 시작하는 값 찾기:
SELECT *
FROM customers
WHERE name LIKE 'A%';
이 쿼리는 이름이 'A'로 시작하는 모든 고객을 찾습니다.
특정 문자로 끝나는 값 찾기:
SELECT *
FROM products
WHERE product_name LIKE '%milk';
이 쿼리는 이름이 'milk'로 끝나는 모든 제품을 찾습니다.
특정 문자를 포함하는 값 찾기:
SQL
SELECT *
FROM orders
WHERE order_id LIKE '%123%';
이 쿼리는 주문 ID에 '123'이 포함된 모든 주문을 찾습니다.
정확히 세 글자로 구성된 값 찾기:
SELECT *
FROM cities
WHERE city_name LIKE '__ville';
이 쿼리는 'ville'로 끝나고 총 세 글자로 구성된 모든 도시를 찾습니다.
추가적인 기능
- 대소문자 구분: LIKE 연산자는 기본적으로 대소문자를 구분합니다. 대소문자를 구분하지 않으려면 데이터베이스 시스템에서 제공하는 함수를 사용하거나, 모든 문자를 소문자 또는 대문자로 변환하여 비교할 수 있습니다.
- 특수 문자 에스케이핑: 와일드카드 자체를 문자 그대로 검색하고 싶다면 에스케이핑 처리를 해야 합니다. 에스케이핑 방법은 데이터베이스 시스템마다 다를 수 있습니다.
'DB' 카테고리의 다른 글
[MySQL] TRUNCATE 완벽 가이드 사용법(테이블의 모든 데이터 삭제) (0) | 2024.12.23 |
---|---|
[MySQL] DROP 완벽 가이드 사용법(데이터베이스와 객체 삭제) (0) | 2024.12.22 |
[MySQL] ALTER 완벽 가이드 사용법(테이블 수정) (0) | 2024.12.19 |
[MySQL] CREATE 완벽 가이드 사용법(데이터베이스와 테이블 생성) (1) | 2024.12.18 |
ORDER BY 특정 값으로 정렬 (0) | 2017.04.27 |
오라클 SYNONYM(별칭) 설정 (0) | 2016.05.27 |
오라클 타 계정에 권한 부여 (0) | 2016.05.27 |
DISTINCT 키워드 (0) | 2016.05.15 |