Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL BETWEEN 절로 두 열 사이의 값 검색하는 방법

MySQL에서 특정 값이 두 열(column) 사이에 존재하는지 확인하려면 BETWEEN 절을 사용하면 됩니다. BETWEEN 절은 일반적으로 하나의 열과 상수 값을 비교할 때 많이 쓰이지만, 이처럼 두 개의 서로 다른 열 사이에서 값을 검색하는 용도로도 활용할 수 있습니다.

실제 예제를 통해 살펴보겠습니다.

1. 테이블 생성하기

먼저 데모용 테이블을 생성합니다.

mysql> create table DemoTable
    (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Score1 int,
    Score2 int
    );
Query OK, 0 rows affected (0.78 sec)

위 테이블은 자동 증가되는 기본키(Id)와 두 개의 점수 열(Score1, Score2)로 구성되어 있습니다.

2. 데이터 삽입하기

INSERT 명령을 사용해 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable(Score1,Score2) values(45,65);
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable(Score1,Score2) values(450,680);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(Score1,Score2) values(800,900);
Query OK, 1 row affected (0.17 sec)

3. 전체 레코드 조회하기

SELECT 문으로 테이블의 모든 데이터를 확인합니다.

mysql> select *from DemoTable;

출력 결과

+----+--------+--------+
| Id | Score1 | Score2 |
+----+--------+--------+
| 1  | 45     | 65     |
| 2  | 450    | 680    |
| 3  | 800    | 900    |
+----+--------+--------+
3 rows in set (0.00 sec)

4. BETWEEN 절로 열 사이 검색하기

이제 핵심인 검색 쿼리입니다. 아래 쿼리는 값 850이 Score1과 Score2 열 사이에 포함되는 행을 찾습니다.

mysql> select *from DemoTable where 850 between Score1 and Score2;

출력 결과

+----+--------+--------+
| Id | Score1 | Score2 |
+----+--------+--------+
| 3  | 800    | 900    |
+----+--------+--------+
1 row in set (0.00 sec)

결과를 보면 850은 세 번째 행의 Score1(800)과 Score2(900) 사이에 있으므로 해당 행만 반환된 것을 확인할 수 있습니다.

정리

BETWEEN 절은 보통 WHERE 열명 BETWEEN 값1 AND 값2 형태로 사용되지만, 위 예제처럼 값 BETWEEN 열1 AND 열2 형식으로 작성하면 특정 값이 두 열 범위 안에 속하는지 간단하게 판별할 수 있습니다. 점수 구간, 가격대, 날짜 범위 등 시작값과 종료값이 각각 다른 열에 저장되어 있는 경우 매우 유용하게 활용됩니다.