IT 소스/MariaDB

[MariaDB] SQL 쿼리 - LIKE, NOT LIKE

한량이야기 2023. 1. 25. 08:51
반응형

안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.

예문 테이블을 가지고 LIKENOT 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