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

MySQL BETWEEN 연산자로 서로 다른 값 사이의 값 조회하기

MySQL BETWEEN 연산자로 서로 다른 값 사이의 값 조회하기

MySQL의 BETWEEN 연산자를 사용하면 두 값 사이에 있는 데이터를 간단하게 조회할 수 있습니다. 이번 글에서는 예제 테이블을 직접 만들어 보고, BETWEEN 조건을 활용해 원하는 범위의 값을 가져오는 방법을 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 예제로 사용할 테이블을 생성합니다.

mysql> create table DemoTable1473
-> (
-> EmployeeCode varchar(20)
-> );
Query OK, 0 rows affected (0.47 sec)

2. 레코드 삽입하기

INSERT 문을 사용해 테이블에 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable1473 values('EMP_120');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable1473 values('EMP_125');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1473 values('EMP_30');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1473 values('EMP_130');
Query OK, 1 row affected (0.10 sec)

3. 전체 레코드 확인하기

SELECT 문으로 테이블에 저장된 모든 레코드를 조회해 보겠습니다.

mysql> select * from DemoTable1473;

실행 결과는 다음과 같습니다.

+--------------+
| EmployeeCode |
+--------------+
| EMP_120 |
| EMP_125 |
| EMP_30 |
| EMP_130 |
+--------------+
4 rows in set (0.00 sec)

4. BETWEEN으로 범위 내 값 조회하기

이제 BETWEEN 조건을 사용해 'EMP_124'와 'EMP_129' 사이에 있는 값을 조회하는 쿼리를 실행해 보겠습니다.

mysql> select * from DemoTable1473
-> where EmployeeCode between 'EMP_124' and 'EMP_129';

실행 결과는 다음과 같습니다.

+--------------+
| EmployeeCode |
+--------------+
| EMP_125 |
+--------------+
1 row in set (0.00 sec)

주의할 점

EmployeeCode 컬럼은 varchar(문자열) 타입이므로 값의 비교가 숫자가 아닌 문자열 기준으로 이루어집니다. 그렇기 때문에 'EMP_30'은 숫자 30처럼 보여도 문자열로 취급되어 'EMP_124'와 'EMP_129' 사이의 범위에는 포함되지 않습니다. 또한 BETWEEN은 시작값과 끝값을 모두 포함(inclusive)하여 비교한다는 점도 함께 기억해 두시면 실무에서 유용하게 활용할 수 있습니다.