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

MySQL 뷰 생성 방법: BETWEEN 연산자로 기본 테이블의 특정 값 범위 선택하기

개요

MySQL의 BETWEEN 연산자는 특정 범위에 속하는 값을 선택할 때 사용하는 강력한 도구입니다. 이 연산자를 뷰(View)와 함께 활용하면 기본 테이블에서 원하는 값 범위만 추출하는 뷰를 손쉽게 만들 수 있습니다.

이해를 돕기 위해 다음과 같은 데이터를 가진 기본 테이블 student_info를 사용하겠습니다.

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Chandigarh | Literature |
| 125  | Raman   | Shimla     | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 132  | Shyam   | Chandigarh | Economics  |
| 133  | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+
6 rows in set (0.00 sec)

BETWEEN 연산자로 뷰 생성하기

다음 쿼리는 BETWEEN 연산자를 사용하여 특정 범위의 값을 선택하는 뷰 'Info'를 생성합니다. 여기서는 이름이 'C'부터 'P' 사이에 해당하는 학생들만 조회하도록 조건을 설정했습니다.

mysql> Create or Replace view Info AS SELECT * from student_info WHERE Name BETWEEN 'C' AND 'P';
Query OK, 0 rows affected (0.14 sec)

mysql> Select * from info;
+------+--------+------------+------------+
| id   | Name   | Address    | Subject    |
+------+--------+------------+------------+
| 105  | Gaurav | Chandigarh | Literature |
| 133  | Mohan  | Delhi      | Computers  |
+------+--------+------------+------------+
2 rows in set (0.00 sec)

실행 결과를 보면 이름이 C와 P 사이에 위치하는 GauravMohan, 두 명의 학생만 뷰에 포함된 것을 확인할 수 있습니다.

NOT BETWEEN으로 반대 범위 선택하기

마찬가지로 NOT BETWEEN을 사용하면 쿼리에 지정한 범위를 제외한 나머지 값들을 선택할 수 있습니다.

mysql> Create or Replace view Info AS SELECT * from student_info WHERE Name NOT BETWEEN 'C' AND 'P';
Query OK, 0 rows affected (0.06 sec)

mysql> Select * from Info;
+------+---------+------------+-----------+
| id   | Name    | Address    | Subject   |
+------+---------+------------+-----------+
| 101  | YashPal | Amritsar   | History   |
| 125  | Raman   | Shimla     | Computers |
| 130  | Ram     | Jhansi     | Computers |
| 132  | Shyam   | Chandigarh | Economics |
+------+---------+------------+-----------+
4 rows in set (0.00 sec)

이번에는 지정된 범위 밖의 이름을 가진 YashPal, Raman, Ram, Shyam 등 4명의 학생이 조회되었습니다.

정리

이처럼 CREATE OR REPLACE VIEW 구문과 BETWEEN 또는 NOT BETWEEN 연산자를 조합하면, 기본 테이블 전체가 아닌 필요한 값 범위만 담은 뷰를 간편하게 만들 수 있습니다. 뷰는 원본 테이블의 데이터가 변경되면 자동으로 반영되므로, 반복적으로 특정 범위의 데이터를 조회해야 하는 상황에서 매우 유용합니다.