18.SQL LIKE
WHERE 절에서 컬럼이 가지고 있는 값의 패턴을 검색하는데 LIKE 가 사용됩니다.
LIKE 연산자와 함께 자주 사용되는 와일드 카드는 두가지가 있습니다.
% : 백분률 기호는 0개 혹은 1개 또는 여러개의 문자가 있을수 있음을 나타냅니다.
_ : 언더바 기호는 하나의 문자만을 의미합니다.
예
"a"로 시작하는 모든 고객을 선택하세요
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
SELECT column1 , column2 , ...
FROM table_name
WHERE columnN LIKE pattern;
_ 와일드 카드
와일드 카드 _ 는 단일 문자를 나타냅니다.
이는 어떠한 문자나 숫자라도 될 수 있지만 각각은 _단 하나의 문자만을 나타냅니다.
'L' 로 시작하고 와일드 카드 문자1개 'nd' 는 와일드카드 문자 2개가 들어가는 도시의 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE city LIKE 'L_nd__';
%와일드 카드
와일드 카드 %는 0개의 문자를 포함해 아무리 많은 문자라도 나타냅니다.
예
SELECT * FROM Customers
WHERE city LIKE '%L%';
특정 문자로 시작
특정 문자나 문구로 시작하는 레코드를 반환하려면 문자나 문구 끝에 %를 추가하세요
예
'La' 로 시작하는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE 'La%';
팁 : AND 연산자 또는 OR 연산자를 사용해 조건을 결합할 수도 있습니다.
예
'a' 로 끝나는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
예
'b' 로 시작하고 's'로 끝나는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE 'b%s';
-Contains 기능 (포함)
특정 문자나 문구가 포함되어 있는 레코드를 반환하려면 문자 앞뒤로 % 를 추가하자
예
'or' 이라는 문구를 포함하는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';
와일드카드 결합
%및 _ 같은 와일드카드는 서로 다른 와일드 카드와 함꼐 사용할 수 있습니다.
예
'a'로 시작하고 기이가 3자 이상인 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
예
'a'로 시작하고 길이가 3자이상인 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
예
두 번째 위치에 'r' 이 있는 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
와일드 카드 없는 WHERE 문
와일드 카드가 지정되지 않으면 구문과 정확하게 일치해야 결과가 반환됩니다.
예
'Spain' 의 모든 고객을 반환합니다.
SELECT * FROM Customers
WHERE Country LIKE 'Spain';
'SQL > SQL Tutorial' 카테고리의 다른 글
20.SQL IN 연산자 (0) | 2024.07.02 |
---|---|
19.SQL 와일드 카드 (0) | 2024.07.02 |
17.SQL AVG() (0) | 2024.06.30 |
16.SQL SUM() (0) | 2024.06.27 |
15.SQL COUNT() 함수 (0) | 2024.06.25 |