SQL LIKE로 데이터 찾기 : SQL 문자열 검색의 핵심
2024.12.01 - [데이터베이스/MySQL 실습문제] - LIKE , LIMIT, DISTINCT, CASE문키워드를 이용한 연습문제 각각 5개씩
LIKE , LIMIT, DISTINCT, CASE문키워드를 이용한 연습문제 각각 5개씩
문제풀이용 데이터베이스 SQL파일 다운로드 LIKE 예습 문제특정 도메인을 가진 이메일 검색이메일이 example.com 도메인으로 끝나는 직원들의 정보를 출력하는 SQL 문을 작성하세요.더보기SELECT * FROM
boohoday.com
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는 대소문자를 구분할 수 있습니다.
- 성능: 와일드카드를 과도하게 사용하면 쿼리 성능이 저하될 수 있습니다.
- 이스케이프 문자: 특수 문자를 검색할 때는 이스케이프 문자를 사용해야 합니다.