-
SQL LIKE로 데이터 찾기 : SQL 문자열 검색의 핵심🐬 MySQL/MySQL 키워드 2024. 12. 1. 21:48728x90
2024.12.01 - [데이터베이스/MySQL 실습문제] - LIKE , LIMIT, DISTINCT, CASE문키워드를 이용한 연습문제 각각 5개씩
SQL LIKE: 패턴 매칭의 강력한 도구
오늘은 데이터베이스에서 문자열 검색의 핵심 도구인 LIKE 연산자에 대해 알아보겠습니다.
LIKE는 패턴 매칭을 통해 원하는 데이터를 쉽고 효과적으로 찾을 수 있게 해주는 강력한 SQL 기능입니다.
LIKE의 기본 구문
LIKE 연산자는 WHERE 절에서 사용되며, 특정 패턴과 일치하는 문자열을 검색합니다.
주로 두 가지 와일드카드 문자와 함께 사용됩니다:
- % (퍼센트) : 0개 이상의 임의의 문자를 나타냅니다.
- _ (언더스코어) : 단일 문자를 나타냅니다.
기본 사용법
LIKE의 기본 구문은 다음과 같습니다
SELECT column1, column2, ... FROM table_name WHERE columnN LIKE pattern;
사용 예시
특정 문자로 시작하는 데이터 찾기
SELECT * FROM customers WHERE name LIKE 'A%';
이름이 'A'로 시작하는 모든 고객을 찾습니다.
특정 문자로 끝나는 데이터 찾기
SELECT * FROM products WHERE product_name LIKE '%phone';
이름이 'phone'으로 끝나는 모든 제품을 찾습니다.
특정 패턴을 포함하는 데이터 찾기
SELECT * FROM employees WHERE email LIKE '%@gmail.com';
Gmail 주소를 사용하는 모든 직원을 찾습니다.
특정 길이의 데이터 찾기
SELECT * FROM orders WHERE order_id LIKE '____';
정확히 4자리의 주문 ID를 가진 모든 주문을 찾습니다.
특정 단어가 포함되지 않은 데이터 찾기
책 제목에 W가 포함되지 않은 책을 가져오시오
SELECT * FROM books b WHERE title NOT LIKE'%W%';
NOT LIKE는 특정 패턴을 제외한 데이터를 검색하는 데 유용하지만, 대규모 데이터셋에서는 성능에 주의해야 합니다.
LIKE의 고급 활용
복합 패턴 사용
SELECT * FROM products WHERE product_name LIKE 'i_hone%';
'i'로 시작하고 세 번째 문자가 'h'인 제품을 찾습니다 (예: iPhone).
NOT LIKE 사용
SELECT * FROM customers WHERE email NOT LIKE '%@spam.com';
스팸 도메인을 사용하지 않는 고객을 찾습니다.
ESCAPE 문자 사용
SELECT * FROM files WHERE filename LIKE '%\_backup\_%' ESCAPE '\';
파일 이름에 'backup'을 포함하는 파일을 찾습니다.
주의사항
- 대소문자 구분: 데이터베이스 설정에 따라 LIKE는 대소문자를 구분할 수 있습니다.
- 성능: 와일드카드를 과도하게 사용하면 쿼리 성능이 저하될 수 있습니다.
- 이스케이프 문자: 특수 문자를 검색할 때는 이스케이프 문자를 사용해야 합니다.
728x90'🐬 MySQL > MySQL 키워드' 카테고리의 다른 글
SQL JOIN: 테이블 간의 데이터 연결, 쉽게 이해하기 (1) 2024.12.02 SQL CASE 문 마스터하기 : 강력한 조건부 표현식 (0) 2024.12.01 SQL LIMIT : 효율적인 데이터 검색의 열쇠 (0) 2024.12.01 DISTINCT 키워드 마스터하기 : SQL에서 유니크한 값만 추출하기 (0) 2024.12.01 SQL ORDER BY: 데이터 정렬의 마법사 (1) 2024.11.29