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

단일 MySQL 쿼리로 여러 입력에 대한 값을 표시하는 방법

BETWEEN 키워드로 여러 입력값 조회하기

지정한 여러 입력 범위에 해당하는 값을 하나의 MySQL 쿼리로 조회하려면 BETWEEN 키워드를 사용하면 됩니다. BETWEEN은 시작값과 끝값을 모두 포함하여 두 값 사이에 있는 레코드만 필터링해 주는 연산자입니다.

먼저 예제로 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable1537
    -> (
    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName varchar(20)
    -> );
Query OK, 0 rows affected (0.72 sec)

샘플 데이터 삽입

INSERT 명령을 사용하여 테이블에 학생 레코드를 추가합니다.

mysql> insert into DemoTable1537(StudentName) values('Chris');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1537(StudentName) values('Bob');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1537(StudentName) values('Sam');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1537(StudentName) values('Mike');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1537(StudentName) values('David');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1537(StudentName) values('John');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1537(StudentName) values('Carol');
Query OK, 1 row affected (0.12 sec)

전체 레코드 확인

SELECT 문을 사용하여 테이블에 저장된 모든 레코드를 조회해 보겠습니다.

mysql> select * from DemoTable1537;

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

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|        1 | Chris       |
|       2 | Bob         |
|       3 | Sam         |
|       4 | Mike        |
|       5 | David       |
|       6 | John        |
|       7 | Carol       |
+-----------+-------------+
7 rows in set (0.00 sec)

여러 입력값을 조회하는 쿼리 실행

StudentId가 3부터 6 사이인 학생들의 이름을 조회하는 것이 목표입니다. 이때 BETWEEN 키워드를 활용한 쿼리는 다음과 같습니다.

mysql> select StudentName from DemoTable1537 where StudentId between 3 and 6;

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

+-------------+
| StudentName |
+-------------+
| Sam         |
| Mike        |
| David       |
| John        |
+-------------+
4 rows in set (0.00 sec)

결과를 보면 StudentId가 3(Sam), 4(Mike), 5(David), 6(John)인 네 개의 레코드가 정상적으로 반환되었습니다. BETWEEN은 경계값인 3과 6까지 모두 포함하므로, 특정 ID 범위의 데이터를 간편하게 조회할 수 있습니다.

참고로, 특정 값들이 연속적이지 않고 개별적으로 나열되어 있다면 BETWEEN 대신 IN 연산자를 사용하는 것이 더 적합합니다. 반면 연속된 범위의 값을 다룰 때는 BETWEEN이 가장 효율적인 선택입니다.