SQL에서 WHERE 절을 사용하여 특정 패턴을 가진 컬럼을 조회할 수 있습니다. 이를 통해 데이터베이스에서 원하는 정보를 빠르게 필터링할 수 있습니다. 여기에서는 특정 패턴을 가진 문자열을 검색하는 방법에 대해 살펴보겠습니다.
1. LIKE 연산자를 활용한 패턴 매칭
SQL에서는 WHERE 절에서 LIKE 연산자를 사용하여 특정 패턴을 가진 문자열을 검색할 수 있습니다. 아래는 LIKE 연산자를 사용하여 패턴 매칭을 하는 예시입니다.
SELECT *
FROM 테이블명
WHERE 컬럼명 LIKE '특정패턴';
위의 예시에서 ‘특정패턴’ 부분에는 실제로 조회하고자 하는 패턴을 나타내는 문자열을 넣어주면 됩니다. 이때 %
기호는 0개 이상의 모든 문자를 나타내며, _
기호는 단일 문자를 나타냅니다.
예를 들어, 만약 ‘name’ 컬럼에서 ‘John’으로 시작하는 모든 이름을 찾고 싶다면 다음과 같이 쿼리를 작성할 수 있습니다.
SELECT *
FROM employees
WHERE name LIKE 'John%';
2. 정규표현식을 활용한 패턴 매칭
일부 데이터베이스 시스템은 정규표현식을 지원하여 좀 더 유연한 패턴 매칭을 제공할 수 있습니다. 정규표현식을 사용하면 더 복잡한 패턴을 정의할 수 있어 다양한 상황에 대응할 수 있습니다.
예를 들어, ‘email’ 컬럼에서 gmail.com 도메인을 가진 이메일 주소를 모두 찾고 싶다면 다음과 같이 쿼리를 작성할 수 있습니다.
SELECT *
FROM users
WHERE email REGEXP '.*@gmail.com';
위의 쿼리에서 .*
는 0개 이상의 모든 문자를 나타내며, @gmail.com
은 gmail.com 도메인을 나타냅니다.
위의 예시를 통해 WHERE 절을 사용하여 특정 컬럼 패턴을 조회하는 방법을 살펴보았습니다. 데이터베이스 시스템에 따라 지원하는 패턴 매칭 방식이 다를 수 있으니, 해당 시스템의 문서를 참고하여 정확한 문법을 확인하는 것이 좋습니다.
참고 문헌:
- MySQL 공식 문서: https://dev.mysql.com/doc/refman/8.0/en/pattern-matching.html
- PostgreSQL 공식 문서: https://www.postgresql.org/docs/current/functions-matching.html