728x90
쿼리를 작성할 때엔 보통 정확하게 조건을 입력해서 사용하지만, 어떤 경우에는 자신이 검색할 대상을 몰라서 일부만 검색하기도 한다. 그때 사용하는 것이 'LIKE' 이다.
LIKE의 선언 방법
SELECT [열] FROM [테이블] WHERE [열] LIKE [조건값]
특정 문자열을 포함하는 문자열을 검색할 땐 '%'와 같이 사용한다.
% 사용 방법
- A% : A로 시작하는 모든 문자열
- %A : A로 끝나는 모든 문자열
- %A% : A를 포함하는 모든 문자열
예시] A를 포함한 모든 symbol을 검색하는 쿼리
SELECT * FROM nasdaq_company
WHERE symbol LIKE '%A%'
- 특수 문자를 포함한 문자열 검색하기 : ESCAPE
- 특정 문자열을 제외한 데이터 검색하기 : NOT LIKE
'_' 를 통해 특정 문자열을 포함하는 특정 길이의 문자열 검색
%를 사용할 때 검색된 데이터양이 매우 많아 원하는 데이터를 빠르게 찾지 못하는 경우 '_'를 사용한다.
'_' 의 사용 방법
- A_: A로 시작하면서 뒤의 글자는 무엇이든 상관없으며 전체 글자 수는 2개인 문자열
- _A: A로 끝나면서 앞의 문자는 무엇이든 상관없으며 전체 글자 수는 2개인 문자열
- _A_: 세 글자 중 가운데 글자만 A이며 무엇이든 상관없는 문자열
예시]
SELECT * FROM nasdaq_company
WHERE symbol LIKE 'A_'
'_' 와 '%' 를 조합해 문자열 검색하기
특정 문자열로 시작하면서 특정 범위에는 사용자가 원하는 문자열을 포함하는 데이터를 검색하기 위해 사용한다.
예시] A로 시작하고, 마지막은 L_이기만 하면 되는 symbol을 검색
SELECT * FROM nasdaq_company
WHERE symbol LIKE 'A%L_'
'[]' 로 문자나 문자 범위 지정해 문자열 검색하기
모든 문자열이 아닌 특정 문자를 포함하는 문자열을 검색할 때 사용 (Ex) A, B)
[] 사용 방법
- [A, B, C]% 또는 [A-C]% : 첫 글자가 A 또는 B 또는 C로 시작하는 모든 문자열 검색
- %[A, B, C] 또는 %[A-C]: 마지막 글자가 A 또는 B 또는 C로 끝나는 모든 문자열 검색
예시] A로 시작하면서 2번째 문자가 A-C 또는 G 또는 M-R인 symbol
SELECT * FROM nasdaq_company
WHERE symbol LIKE 'A[A-C, G, M-R]'
문자나 문자 범위를 제외한 문자열 검색하기
'^' 을 사용하고, 특정 문자 앞에 붙여 사용한다.
예시]
SELECT * FROM nasdaq_company
WHERE symbol LIKE 'A[^A, ^B, ^C]'
728x90
'DBMS > MySQL 정리' 카테고리의 다른 글
[MySQL] 테이블 생성하고 데이터 조작하기 (0) | 2023.06.22 |
---|---|
[MySQL] 데이터 그룹화 다루기 (0) | 2023.06.20 |
[MySQL] ORDER BY문으로 데이터 정렬하기 (0) | 2023.06.15 |
[MySQL] SQL이란 무엇인가 ? (2) | 2023.06.14 |
[MySQL] 데이터베이스의 종류 (2) | 2023.06.12 |