19.SQL 와일드 카드
와일드 카드는 문자엘에서 하나 이상의 문자를 대체하는데 사용됩니다.
와일드카드 문자는 LIKE 연산자와 함께 사용됩니다.
LIKE 연산자는 WHERE 절에서 지정된 패턴을 검색하는데 사용됩니다,
예
문자'a'로 시작하는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
와일드카드 문자들
% : 0개 이상의 문자를 나타냅니다.
_ : 단일 문자를 나타냅니다.
*[] : 대괄호 안의 단일 문자를 나타냅니다.
*^ : 괄호안에 없는 모든 문자를 나타냅니다.
*- : 지정된 범위 내의 단일 문자를 나타냅니다.
**{} : 이스케이프된 문자를 나타냅니다.
* PostgreSQL 및 MySQL 데이터베이스에서는 지원되지 않습니다.
** Oracle 데이터베이스서만 지원됩니다.
% 와일드카드 사용
% 와일드 카드는 모든 문자 수를 나타내며 심지어 0문자도 나타냅니다.
예
패턴 'es'로 끝나는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE '%es';
예
'mer' 패턴을 포함하는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE '%mer%';
_ 와일드카드 사용
_와일드 카드는 단일문자를 나타냅니다.
임의의 문자나 숫자가 될수 있지만 각각은 _ 하나의 문자만 나타냅니다.
예
City 임의의 문자로 시작하고 뒤에 "ondon" 이 오는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE City LIKE '_ondon';
예
City "L" 로 시작하고 그뒤에 3개문자가 이어지고 "on"으로 끝나는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE City LIKE 'L___on';
[]와일드 카드 사용
[] 와일드 카드는 내부 문자 중 하나라도 일치하는 경우 결과를 반환합니다.
예
"b", "s" 또는 "p" 로 시작하는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE '[bsp]%';
-와일드카드 사용
-와일드카드를 사용하면 와일드카드 내부의 문자범위를 지정할 수 있습니다.
예
"a", "b", "c", "d", "e" 또는 "f" 로 시작하는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]%';
와일드카드 결합
% 및 _ 와 같은 와일드 카드는 _ 다른 와일드 카드와 함께 사용할 수 있습니다.
예
"a" 로 시작하고 길이가 3자 이상인 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
예
두번쨰 위치에 "r" 이 있는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
와일드 카드 없이
와일드카드가 지정되지 않으면 구문 과 정확하게 일치해야 결과가 반환됩니다.
예
스페인의 모든 고객을 돌려보내세요
SELECT * FROM Customers
WHERE Country LIKE 'Spain';
'SQL > SQL Tutorial' 카테고리의 다른 글
21.SQL BETWEEN (0) | 2024.07.03 |
---|---|
20.SQL IN 연산자 (0) | 2024.07.02 |
18.SQL LIKE (1) | 2024.06.30 |
17.SQL AVG() (0) | 2024.06.30 |
16.SQL SUM() (0) | 2024.06.27 |