반응형
안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.
예문 테이블을 가지고 LIKE와 NOT LIKE의 사용법과 어떻게 동작하는지 알아보겠습니다.
CREATE TABLE class ( name VARCHAR(20), color VARCHAR(10) );
INSERT INTO class
VALUES
('BILL', 'red'),
('KIM', 'green'),
('ROSE', 'yellow'),
('SALLY', 'pink'),
('AMY', 'blue'),
('DAVID', 'rose'),
('NANCY', 'black');
1. LIKE와 함께 사용되는 와일드카드 문자
'LIKE'구문을 사용하기 위해서는 와일드카드 문자에 대해 이해하셨야 합니다.
와일드카드 문자는 사용자가 원하는 문자가 포함된 자료를 쉽게 검색할 수 있도록 도와줍니다.
와일드카드 문자 | 설명 |
% | 0을 포함하여 모든 문자, 수와 일치합니다. |
_ | 바이트가 아닌 단일 문자와 일치합니다. |
2. LIKE (패턴)
패턴과 일치하는 데이터를 반환합니다.
SELECT * FROM class WHERE color LIKE ('r%');
// 실행 결과
name |color|
-----+-----+
BILL |red |
DAVID|rose |
SELECT * FROM class WHERE color LIKE ('r__');
// 실행 결과
name|color|
----+-----+
BILL|red |
두 실행 결과를 보면 'color'를 같은 'r'로 시작되는 패턴 검색을 하였는데
와일드카드 문자 차이로 인해 반환되는 데이터가 다른 걸 확인하실 수 있습니다.
3. NOT LIKE (패턴)
패턴과 일치하지 않는 데이터를 반환합니다.
SELECT * FROM class WHERE color NOT LIKE ('r%');
// 실행 결과
name |color |
-----+------+
KIM |green |
ROSE |yellow|
SALLY|pink |
AMY |blue |
NANCY|black |
SELECT * FROM class WHERE color NOT LIKE ('r__');
// 실행 결과
name |color |
-----+------+
KIM |green |
ROSE |yellow|
SALLY|pink |
AMY |blue |
DAVID|rose |
NANCY|black |
'LIKE'구문의 패턴이 'NULL'이면 결과는 'NULL'입니다.
또한 'LIKE'구문은 대소문자 구별을 하지 않습니다.
와일드카드 문자는 패턴의 앞, 뒤, 가운데에도 사용할 수 있습니다.
반응형
'IT 소스 > MariaDB' 카테고리의 다른 글
[MariaDB] SQL 쿼리 - LIMIT (0) | 2023.01.27 |
---|---|
[MariaDB] SQL 쿼리 - BETWEEN, NOT BETWEEN (0) | 2023.01.26 |
[MariaDB] SQL 쿼리 - IN, NOT IN (0) | 2023.01.20 |
[MariaDB] 테이블 결합 - UNION (0) | 2023.01.18 |
[MariaDB] 테이블 연결 - JOIN (0) | 2023.01.17 |