🐬 MySQL/MySQL 키워드

SQL LIKE로 데이터 찾기 : SQL 문자열 검색의 핵심

itstory(Booho) 2024. 12. 1. 21:48
728x90

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 절에서 사용되며, 특정 패턴과 일치하는 문자열을 검색합니다.

  주로 두 가지 와일드카드 문자와 함께 사용됩니다:

  1. % (퍼센트) : 0개 이상의 임의의 문자를 나타냅니다.
  2. _ (언더스코어) : 단일 문자를 나타냅니다.

기본 사용법

  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'을 포함하는 파일을 찾습니다.

 

주의사항

  1. 대소문자 구분: 데이터베이스 설정에 따라 LIKE는 대소문자를 구분할 수 있습니다.
  2. 성능: 와일드카드를 과도하게 사용하면 쿼리 성능이 저하될 수 있습니다.
  3. 이스케이프 문자: 특수 문자를 검색할 때는 이스케이프 문자를 사용해야 합니다.
728x90
반응형