SQL

[SQL#3] LIKE / IN / BETWEEN / IS NULL

j.d 2025. 4. 16. 01:04

SQL에서 특정 조건의 데이터를 더 유연하게 필터링하고 싶을 때 사용하는 연산자들이 있습니다.

 

이번 글에서는 LIKE, IN, BETWEEN, IS NULL의 용도와 사용 예시를 정리하도록 하겠습니다.

 

1. LIKE

LIKE는 문자열 안에 특정 패턴이 포함되어 있는지 확인할 때 사용합니다.
와일드카드와 함께 사용됩니다.

 

  • % : 0개 이상의 문자
  • _ : 정확히 1개의 문자
예시 의미
WHERE name LIKE 'A%' A로 시작하는 이름
WHERE email LIKE '%@gmail.com' @gmail.com으로 끝나는 이메일
WHERE code LIKE 'A_3' A로 시작하고 중간에 아무 문자 1개, 3으로 끝나는 문자열
SELECT name
FROM users
WHERE name LIKE '%son';

→ 이름이 ‘son’으로 끝나는 사용자 조회

 

만약 %나 _ 자체를 문자로 검색하고 싶다면 역슬래시(\) 이스케이프 문자를 사용합니다.

SELECT name
FROM users
WHERE name LIKE '%\%%';

→ 이름에 % 문자가 포함된 행을 조회합니다.

SELECT code
FROM products
WHERE code LIKE '%\_%';

  code 컬럼에 _ 문자가 어디든 포함된 행을 조회합니다.

 

 

2. IN

IN은 컬럼의 값이 특정 목록에 포함되는지를 판단할 때 사용합니다.

SELECT name
FROM users
WHERE city IN ('Seoul', 'Busan', 'Incheon');

→ 거주지가 서울, 부산, 인천 중 하나인 사용자만 조회

 

※ NOT IN을 사용하면 해당 목록에 포함되지 않은 값만 조회합니다.

 

 

3. BETWEEN

BETWEEN A AND B는 값이 A 이상 B 이하인지를 판단합니다.
숫자, 날짜 등 범위가 있는 데이터에 자주 사용됩니다.

SELECT *
FROM orders
WHERE price BETWEEN 10000 AND 20000;

→ 가격이 1만 원 이상, 2만 원 이하인 주문 조회

 

※ NOT BETWEEN을 사용하면 해당 범위를 벗어난 값을 조회합니다.

 

 

4. IS NULL

IS NULL은 특정 컬럼의 값이 NULL(없음) 인지를 확인합니다.

SELECT name
FROM users
WHERE email IS NULL;

→ 이메일이 입력되지 않은 사용자만 조회

 

※ NULL이 아닌 값을 조회하려면 IS NOT NULL을 사용합니다.

'SQL' 카테고리의 다른 글

[SQL#5] ORDER BY  (0) 2025.04.16
[SQL#4] DISTINCT  (0) 2025.04.16
[SQL#2] 비교연산자와 논리연산자  (0) 2025.04.16
[SQL#1] SELECT / FROM / LIMIT  (0) 2025.04.16
[Database Modeling#4] 테이블 분리 규칙  (0) 2025.04.15