SQL 쿼리의 패턴 일치

부정확 한 일치를 위해 와일드 카드 사용

SQL 패턴 일치를 사용하면 원하는 단어 나 구를 모르는 경우 데이터 패턴을 검색 할 수 있습니다. 이러한 종류의 SQL 쿼리는 패턴을 정확하게 지정하는 대신 와일드 카드 문자를 사용하여 패턴을 일치시킵니다. 예를 들어, 와일드 카드 "C %"를 사용하여 대문자 C로 시작하는 문자열을 일치시킬 수 있습니다.

LIKE 연산자 사용

SQL 쿼리에서 와일드 카드 식을 사용하려면 WHERE 절에서 LIKE 연산자를 사용하고 패턴을 작은 따옴표로 묶습니다.

% 와일드 카드를 사용하여 단순 검색 수행

마지막 문자가 C로 시작하는 데이터베이스의 직원을 검색하려면 다음 Transact-SQL 문을 사용하십시오.

SELECT * FROM 직원 where last_name LIKE 'C %'

NOT 키워드를 사용하여 패턴 생략

패턴과 일치하지 않는 레코드를 선택하려면 NOT 키워드를 사용하십시오. 예를 들어,이 쿼리는 이름이 C로 시작하지 않는 모든 레코드를 반환합니다.

SELECT * FROM employees 어디에서 last_name NOT LIKE 'C %'

% 와일드 카드를 두 번 사용하여 어디에서나 패턴 매치

어디에서나 특정 패턴을 일치 시키려면 % 와일드 카드의 두 인스턴스를 사용하십시오. 이 예에서는 성을 포함한 모든 위치에 C가 포함 된 모든 레코드를 반환합니다.

SELECT * FROM 직원 이름 where last_name LIKE '% C %'

특정 위치에서 패턴 일치 찾기

_ 와일드 카드를 사용하여 특정 위치에서 데이터를 리턴하십시오. 이 예제는 성 C의 세 번째 위치에서 C가 발생하는 경우에만 일치합니다.

SELECT * FROM 직원 where last_name LIKE '_ _C %'

Transact SQL에서 지원되는 와일드 카드 식

Transact SQL에서 지원하는 몇 가지 와일드 카드식이 있습니다.

복잡한 패턴에 와일드 카드 결합

복잡한 패턴에서 이러한 와일드 카드를 결합하여 고급 쿼리를 수행하십시오. 예를 들어, 알파벳의 첫 번째 절반에서 문자로 시작하지만 모음으로 끝나지 않는 이름을 가진 모든 직원 목록을 작성해야한다고 가정합니다. 다음 쿼리를 사용할 수 있습니다.

SELECT * FROM employees 어디에서 last_name LIKE '[am] % [^ aeiou]'

마찬가지로 네 패턴의 _ 패턴을 사용하여 정확히 4 자로 구성된 성을 가진 모든 직원의 목록을 작성할 수 있습니다.

SELECT * FROM 직원 where last_name LIKE '____'

SQL 패턴 일치 기능을 사용하면 데이터베이스 사용자가 간단한 텍스트 쿼리를 넘어 고급 검색 작업을 수행 할 수 있습니다.