반응형
SQL에서 LIKE는 문자열 데이터를 검색할 때 특정 패턴과 일치하는 값을 찾기 위해 사용되는 조건절입니다. 주로 WHERE 절과 함께 사용됩니다.
주요 특징
- 패턴 매칭을 위해 와일드카드 문자를 사용합니다.
- 대소문자 구분 여부는 데이터베이스 시스템에 따라 달라집니다.
- 대소문자 구분하지 않음: MySQL, SQLite 등
- 대소문자 구분함: PostgreSQL (대소문자 무시하려면 ILIKE 사용)
와일드카드 문자
- % (퍼센트): 0개 이상의 문자를 대체합니다.
- LIKE 'abc%' → abc로 시작하는 모든 문자열.
- LIKE '%xyz' → xyz로 끝나는 모든 문자열.
- LIKE '%123%' → 123이 포함된 모든 문자열.
- _ (언더스코어): 정확히 1개의 문자와 일치합니다.
- LIKE 'a_c' → a와 c 사이에 한 글자가 있는 문자열(abc, aac 등).
- LIKE '_b_' → 두 번째 문자가 b인 3글자 문자열(aba, abc 등).
기본 구조
SELECT 컬럼명
FROM 테이블명
WHERE 컬럼명 LIKE '패턴';
예시
1. 특정 문자열로 시작하는 데이터 검색
SELECT *
FROM 고객
WHERE 이름 LIKE '김%';
-- 이름이 '김'으로 시작하는 고객 검색
2. 특정 문자열로 끝나는 데이터 검색
SELECT *
FROM 고객
WHERE 이메일 LIKE '%@gmail.com';
-- Gmail 이메일 주소를 가진 고객 검색
3. 특정 문자열을 포함하는 데이터 검색
SELECT *
FROM 상품
WHERE 상품명 LIKE '%초코%';
-- 상품명에 '초코'가 포함된 모든 상품 검색
4. 문자 개수 제한 (언더스코어 사용)
SELECT *
FROM 상품
WHERE 상품코드 LIKE 'A_1';
-- 'A'로 시작하고 세 번째 문자가 '1'인 상품 코드 검색 (예: 'AB1', 'AC1')
NOT LIKE
LIKE와 반대로 특정 패턴에 일치하지 않는 데이터를 검색합니다.
SELECT *
FROM 고객
WHERE 이름 NOT LIKE '박%';
-- 이름이 '박'으로 시작하지 않는 고객 검색
실전 활용
- 숫자와 문자가 섞인 데이터 검색
LIKE 'A%123' → A로 시작하고 123으로 끝나는 문자열. - 특정 문자가 포함되지 않은 데이터 검색
NOT LIKE '%2023%' → '2023'이 포함되지 않은 문자열. - 패턴과 와일드카드 조합 활용
고객 데이터에서 성별이 알파벳 하나로 기록된 경우: - SELECT * FROM 고객 WHERE 성별 LIKE '_'; -- 성별 컬럼이 정확히 1글자인 경우 검색
LIKE는 텍스트 데이터 검색 시 매우 유용하며, 특히 특정 패턴을 기준으로 데이터를 필터링하는 데 필수적입니다. 😊
반응형
'🖥️ IT, 컴퓨터 > 🏁 SQL・빅쿼리' 카테고리의 다른 글
[SQL] 윈도우 함수(Window Function)란? (0) | 2024.11.24 |
---|---|
[SQL] INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN 차이점 (0) | 2024.11.24 |
[SQL] HAVING 절이란? (0) | 2024.11.24 |
[SQL] `CASE WHEN` 구문이란? (0) | 2024.11.24 |
[SQL] UPDATE문이란 (0) | 2024.10.30 |
댓글