BACKEND/DATABASE

SQL 튜토리얼 - WILDCARD 이해하기

우진하다 2023. 6. 20. 16:36

Wildcard Characters.

와일드카드는 특정 패턴에 일치하는 문자열을 검색하는 데 사용되는 특수 문자
와일드카드 문자들은 LIKE 절과 함께 SELECT, UPDATE, DELETE 등의 SQL 문에서 사용

%: 0개 이상의 문자와 일치합니다. 어떤 문자열이든 사용 가능
예) WHERE name LIKE 'J%'는 'J'로 시작하는 모든 이름과 일치

-- ber 로 시작하는 도시
SELECT * FROM Customers
WHERE City LIKE 'ber%';

-- se로 끝나는 도시
SELECT * FROM Customers
WHERE City LIKE '%se';

-- 이름에서 ni를 포함하는 고객
SELECT * FROM Customers
WHERE ContactName LIKE '%ni%';

 

_: 하나의 문자와 일치합니다. 어떤 문자열이든 사용 가능
'_'를 사용하면 반드시 한 글자가 일치해야 함
예) WHERE name LIKE 'Sm_th'는 'Smith', 'Smyth'와 같은 이름과 일치

-- 임의의 문자로 시작하고 그 뒤에 "ondon"이 오는 모든 고객을 선택
SELECT * FROM Customers
WHERE City LIKE '_ondon';

-- "L"로 시작하는 도시, 임의의 문자, "n", 임의의 문자, "on"이 차례로 오는 모든 고객을 선택
SELECT * FROM Customers
WHERE City LIKE 'L_n_on';

 

[]: 괄호 내에 포함된 문자 중 하나와 일치
예) WHERE name LIKE '[JM]ohn'은 'John', 'Mohn'과 같은 이름과 일치
'J' 또는 'M' 중 하나로 시작하는 이름을 검색

-- 도시가 "b", "s" 또는 "p"로 시작하는 모든 고객을 선택
SELECT * FROM Customers
WHERE City LIKE '[bsp]%';

--  도시가 "a", "b" 또는 "c"로 시작하는 모든 고객을 선택
SELECT * FROM Customers
WHERE City LIKE '[a-c]%';

 

[^] 또는 [!]: 괄호 내에 포함되지 않은 문자와 일치
예) WHERE name LIKE '[^A-C]ohn'은 'Dohn', 'John'과 같은 이름과 일치
여기서 'A'부터 'C'까지의 문자로 시작하지 않는 이름을 검색

--  도시가 "b", "s" 또는 "p"로 시작하지 않는 모든 고객을 선택
SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';