HOME
home
About
home

LIKE 및 ILIKE

이 장에서는 데이터 내 특정 패턴을 검색할 수 있게 해주는 LIKE 및 ILIKE 연산자의 강력한 기능을 살펴봅니다. 이 연산자들은 검색하려는 완전한 값이 확실하지 않을 때 데이터를 필터링하고 검색하는 데 필수적인 도구입니다.
LIKE 연산자 소개
LIKE 연산자는 지정된 열에 대해 패턴 매칭을 수행하여, 지정된 패턴에 따라 특정 조건을 충족하는 행을 찾는 데 사용됩니다. 패턴에는 검색에 유연성을 제공하는 특수 와일드카드 문자를 포함할 수 있습니다.
와일드카드 문자
LIKE 연산자는 두 가지 와일드카드 문자를 지원합니다:
%: 이는 제로, 하나 또는 여러 문자를 나타냅니다. 문자열의 어떤 순서든 일치할 수 있는 자리 표시자와 같습니다.
_: 이는 단일 문자를 나타냅니다. 어떤 문자든 채워질 수 있는 공백과 같습니다.
기본 사용법
employees라는 테이블이 있고, first_name 열이 있다고 가정해봅시다. "J"로 시작하는 모든 직원을 찾기 위해 LIKE 연산자를 사용할 수 있습니다:
SELECT * FROM employees WHERE first_name LIKE 'J%';
이 쿼리는 first_name이 'J'로 시작하는 모든 행을 반환합니다.
와일드카드 결합
더 복잡한 검색을 위해 와일드카드를 결합할 수 있습니다. 예를 들어, 이름에 "son"이 포함된 모든 직원을 찾으려면 다음과 같이 사용합니다:
SELECT * FROM employees WHERE first_name LIKE '%son%';
이 쿼리는 이름에 어디든 "son"이 포함된 모든 이름과 일치합니다.
ILIKE 연산자
대소문자를 구분하지 않는 패턴 매칭을 수행하는 ILIKE 연산자에 대해 살펴보겠습니다. ILIKE는 대문자와 소문자를 동일하게 취급합니다. 이는 대소문자에 관계없이 특정 패턴을 검색하고자 할 때 매우 유용합니다.
ILIKE 사용하기
예를 들어, last_name에 "smith"가 포함된 모든 직원을 대소문자에 관계없이 찾고 싶다면 ILIKE 연산자를 사용할 수 있습니다:
SELECT * FROM employees WHERE last_name ILIKE '%smith%';
이 쿼리는 last_name에 "smith"가 어떤 형태로든 포함된 모든 행을 반환합니다.
실제 시나리오에서의 사용
고객 데이터베이스를 관리하고 다양한 이메일 도메인을 사용하여 등록한 모든 고객을 찾아야 한다고 상상해보세요. LIKE 및 ILIKE 연산자를 사용하면 필요한 데이터를 쉽게 필터링할 수 있습니다:
SELECT * FROM customers WHERE email LIKE '%@gmail.com' OR email LIKE '%@yahoo.com';
LIKE 및 ILIKE를 사용하면 특정 패턴에 기반한 중요한 통찰력을 추출하고 복잡한 검색을 수행할 수 있습니다.
이 장에서는 SQL에서 패턴 매칭에 필수적인 LIKE 및 ILIKE 연산자의 기능을 탐구했습니다. 이 연산자들은 와일드카드 문자를 사용하여 특정 패턴에 기