이 장에서는 데이터 내 특정 패턴을 검색할 수 있게 해주는 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 연산자의 기능을 탐구했습니다. 이 연산자들은 와일드카드 문자를 사용하여 특정 패턴에 기