개요
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 사이에 위치하는 Gaurav와 Mohan, 두 명의 학생만 뷰에 포함된 것을 확인할 수 있습니다.
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 연산자를 조합하면, 기본 테이블 전체가 아닌 필요한 값 범위만 담은 뷰를 간편하게 만들 수 있습니다. 뷰는 원본 테이블의 데이터가 변경되면 자동으로 반영되므로, 반복적으로 특정 범위의 데이터를 조회해야 하는 상황에서 매우 유용합니다.