SQL 베이스캠프 - 9. BETWEEN

admin | | 조회 4


[주요 목차]

BETWEEN 연산자 기본 개념과 숫자 활용

날짜 범위 필터링 실전 예제

텍스트·한글 범위 검색 팁과 주의점


SQL을 배우다 보면 특정 범위 안에 있는 데이터를 한 번에 뽑아내고 싶을 때가 많아요. 예를 들어 5만 원에서 15만 원 사이 상품만 보고 싶거나, 2월 주문만 확인하고 싶을 때죠. 그럴 때 쓰는 게 바로 BETWEEN 연산자예요. 이 글에서는 SQL BETWEEN을 숫자, 날짜, 텍스트까지 어떻게 쓰는지 실제 예시로 정리했어요. 영상을 보지 않아도 바로 따라 할 수 있게 단계별로 풀어서 설명할게요. BETWEEN을 익히면 WHERE 절이 훨씬 간결해지고, 실무에서 범위 검색할 때 시간을 아낄 수 있어요.


SQL 베이스캠프 - 9. BETWEEN - 실전 화면 1 - SQLBETWEENSQL 베이스캠프 - 9. BETWEEN · 실전 화면 1

BETWEEN 연산자 기본 개념과 숫자 활용

BETWEEN은 값이 두 경계 사이에 있는지 확인하는 연산자예요. 중요한 점은 양쪽 끝 값을 모두 포함한다는 거죠. 1과 3 사이에 1이 있냐고 물으면 참이 되고, 4는 거짓이 돼요.

숫자 컬럼에 적용할 때는 가격 범위를 가장 많이 써요. 상품 테이블에서 가격이 50000에서 150000 사이인 행만 보고 싶다면 아래처럼 작성합니다.

sql SELECT * FROM 상품 WHERE 가격 BETWEEN 50000 AND 150000;

스티커처럼 160만 원짜리 상품은 제외되고, 5만~15만 원 구간만 깔끔하게 나와요. 만약 160만 원도 포함하고 싶다면 160000을 AND 뒤에 추가하면 끝이에요.

비교 연산자 두 개(>= AND <=)로 쓰는 것과 결과는 같지만, BETWEEN이 코드가 짧고 읽기 편하다는 장점이 있어요. 다만 NOT BETWEEN으로 범위 밖을 찾을 때는 헷갈리지 않게 주석을 달아두는 게 좋습니다.

SQL 베이스캠프 - 9. BETWEEN - 실전 화면 2 - SQLBETWEENSQL 베이스캠프 - 9. BETWEEN · 실전 화면 2

날짜 범위 필터링 실전 예제

날짜도 BETWEEN으로 쉽게 걸러낼 수 있어요. 주문 테이블에 2023년 11월부터 2024년 2월까지 데이터가 있다고 가정해 보죠. 2월 데이터만 보고 싶다면 아래처럼 작성합니다.

sql SELECT * FROM 주문 WHERE 주문일 BETWEEN '2024-02-01' AND '2024-02-29';

1월 데이터만 보고 싶다면 1월 1일부터 1월 31일까지 범위를 지정하면 돼요. 날짜는 문자열로 넣어도 되고, DATE 타입 컬럼이라면 자동으로 인식합니다.

주의할 점은 시간까지 포함된 DATETIME 컬럼일 때예요. '2024-02-29'만 쓰면 00:00:00으로 인식돼서 당일 마지막 주문이 빠질 수 있어요. 그럴 때는 '2024-02-29 23:59:59'까지 명확히 적어주는 게 안전합니다.

[이미지�입용태그3]

텍스트·한글 범위 검색 팁과 주의점

텍스트에도 BETWEEN을 쓸 수 있어요. 상품명이 'A'에서 'M' 사이에 있는 걸 찾고 싶다면 아래 쿼리로 가능합니다.

sql SELECT * FROM 상품 WHERE 상품명 BETWEEN 'A' AND 'M';

한글도 UTF-8 순서로 검색돼요. '가'부터 '하'까지가 아니라 '기'부터 '마'까지처럼 중간 음절로 범위를 잡을 수 있어요. 예를 들어 '기'로 시작하는 모든 상품을 보고 싶다면 '기'와 '깋' 사이로 설정하면 됩니다.

UTF-8 순서를 모를 때는 구글에 “UTF-8 한글 표”를 검색해서 확인하세요. 실제 테이블에서는 대소문자 구분, 공백, 특수문자 때문에 의도와 다르게 나올 수 있으니, 먼저 LIMIT 10으로 테스트해보는 걸 추천해요.


[자주 묻는 질문]

BETWEEN과 >=

목록
글쓰기
한국 서버호스팅
전체보기 →

댓글 0