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

MySQL 뷰(VIEW)에 WHERE 절을 적용하는 방법 완벽 가이드

MySQL VIEW와 WHERE 절 함께 사용하기

MySQL에서 생성한 뷰(VIEW)는 일반 테이블과 거의 동일하게 취급할 수 있습니다. 따라서 뷰를 조회할 때도 SELECT 문에 WHERE 절을 붙여 원하는 조건의 데이터만 필터링해서 가져올 수 있습니다.

기본 문법

뷰에 WHERE 절을 적용하는 기본 문법은 다음과 같습니다.

SELECT * FROM 뷰이름 WHERE 컬럼명 = '값';

실제 예제를 통해 단계별로 살펴보겠습니다.

1단계: 테이블 생성

먼저 학생 정보를 저장할 테이블을 만들어 보겠습니다.

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

위 테이블은 StudentId(자동 증가 기본키), StudentName(학생 이름), StudentBranchName(전공 학과) 세 개의 컬럼으로 구성되어 있습니다.

2단계: 데이터 삽입

INSERT 문을 사용해 샘플 데이터를 입력합니다.

mysql> insert into DemoTable1432(StudentName,StudentBranchName) values('Chris','CS');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1432(StudentName,StudentBranchName) values('David','CE');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1432(StudentName,StudentBranchName) values('Mike','ME');
Query OK, 1 row affected (0.20 sec)

3단계: 전체 데이터 확인

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

mysql> select * from DemoTable1432;

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

+-----------+-------------+-------------------+
| StudentId | StudentName | StudentBranchName |
+-----------+-------------+-------------------+
|         1 | Chris       | CS                |
|         2 | David       | CE                |
|         3 | Mike        | ME                |
+-----------+-------------+-------------------+
3 rows in set (0.00 sec)

4단계: 뷰(VIEW) 생성

이제 CREATE VIEW 문을 사용하여 위 테이블 기반의 뷰를 생성합니다.

mysql> create view DemoTable1432_View as select * from DemoTable1432;
Query OK, 0 rows affected (0.17 sec)

뷰는 실제 데이터를 저장하지 않고, 정의된 SELECT 쿼리를 참조하는 가상 테이블입니다. 따라서 원본 테이블의 데이터가 변경되면 뷰 조회 결과도 자동으로 반영됩니다.

5단계: 뷰에 WHERE 절 적용

생성한 뷰에 WHERE 절을 사용해 특정 조건(예: 전공이 'CS'인 학생)에 해당하는 데이터만 조회해 보겠습니다.

mysql> select * from DemoTable1432_View where StudentBranchName='CS';

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

+-----------+-------------+-------------------+
| StudentId | StudentName | StudentBranchName |
+-----------+-------------+-------------------+
|         1 | Chris       | CS                |
+-----------+-------------+-------------------+
1 row in set (0.03 sec)

정리

이처럼 MySQL 뷰에 WHERE 절을 적용하는 방법은 일반 테이블과 완전히 동일합니다. 뷰를 활용하면 복잡한 쿼리를 미리 정의해 두고, 필요할 때 간단한 조건문만 추가하여 손쉽게 원하는 데이터를 조회할 수 있다는 장점이 있습니다. 보안상 특정 컬럼만 노출하고 싶거나, 반복적으로 사용하는 복잡한 JOIN 쿼리를 단순화하고 싶을 때 뷰를 적극적으로 활용해 보시기 바랍니다.