SQL 조건문 제대로 활용하기: LIKE와 IN의 차이점과 실전 활용법 🚀

데이터를 분석하거나 필터링할 때 SQL에서 조건문은 필수적이야. 그중에서도 가장 많이 쓰이는 LIKEIN 조건문에 대해 자세히 알아보자!


1. LIKE 조건문: 패턴 매칭으로 텍스트 필터링하기

LIKE 문법

LIKE는 문자열에서 특정 패턴과 일치하는 데이터를 조회할 때 사용해. 주로 와일드카드를 함께 사용하지!

와일드카드설명
%0개 이상의 문자와 일치
_정확히 1개의 문자와 일치

기본 문법

SELECT *  
FROM 테이블명
WHERE 컬럼명 LIKE '패턴';

예제

1) 이름이 ‘Kim’으로 시작하는 데이터 조회

SELECT *  
FROM users
WHERE name LIKE 'Kim%';

2) 이름이 두 글자이고, ‘A’로 시작하는 데이터 조회

SELECT *  
FROM users
WHERE name LIKE 'A_';

3) 이메일에 특정 문자열이 포함된 경우

SELECT *  
FROM users
WHERE email LIKE '%@gmail.com';

2. IN 조건문: 여러 조건을 동시에 검사하기

IN 문법

IN은 여러 값 중에서 일치하는 데이터를 조회할 때 사용해. OR 조건을 간단히 표현할 수 있어서 가독성이 훨씬 좋아져.

기본 문법

SELECT *  
FROM 테이블명
WHERE 컬럼명 IN (값1, 값2, 값3...);

예제

1) 특정 국가의 데이터를 조회

SELECT *  
FROM users
WHERE country IN ('Korea', 'Japan', 'China');

2) 특정 ID 값들만 필터링

SELECT *  
FROM orders
WHERE user_id IN (101, 102, 103);

3) 서브쿼리와 함께 사용하기

SELECT *  
FROM products
WHERE category_id IN (SELECT id FROM categories WHERE name = 'Electronics');

3. LIKE vs IN: 언제 어떤 걸 써야 할까?

구분LIKEIN
사용 대상패턴 매칭 (문자열)여러 개의 고정된 값 비교
와일드카드사용 가능 (%, _)사용 불가
비교 속도데이터 양이 많을수록 느림비교적 빠름
복잡한 조건복잡한 패턴일 경우에 유리다수의 값 비교 시 유리

4. 실전 활용: 두 조건문 함께 사용하기

LIKE와 IN을 함께 사용하면 더욱 강력해져!

예제: 이메일이 특정 도메인으로 끝나고, 특정 국가에 속한 사용자 조회

SELECT *  
FROM users
WHERE email LIKE '%@example.com'
AND country IN ('Korea', 'Japan', 'China');

5. 주의사항과 성능 최적화

LIKE 사용 시 주의사항

  • LIKE ‘%패턴’: 앞에 %를 쓰면 인덱스가 비활성화되어 성능이 저하될 수 있어.
    • 해결 방법: %를 뒤에만 사용하거나 풀텍스트 검색 도입 고려.

IN 사용 시 주의사항

  • IN 절의 값이 많아지면 성능이 떨어질 수 있어.
    • 해결 방법: 서브쿼리 최적화나 JOIN으로 대체할 수 있는지 확인.

마무리

SQL에서 LIKEIN은 데이터 필터링 시 정말 자주 사용되는 조건문이야. 패턴 매칭이 필요하면 LIKE를, 다수의 고정된 값 비교가 필요하면 IN을 사용하자.

이제 두 조건문을 잘 활용해서 더욱 깔끔하고 효율적인 SQL 쿼리를 작성해보자! 🚀


게시됨

카테고리

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다