728x90
[SQL] View
View
데이터 베이스에서 사용되는 가상 테이블
View는 실제 데이터를 저장하지 않고 데이터베이스의 다른 테이블에서 가져온 쿼리를 기반으로 만들어짐
View의 장점
1. 데이터를 요약, 필터링, 조인 또는 계산하는데에 사용 가능
2. View를 사용하면 복잡한 쿼리를 단순화하고, 재사용 가능한 코드를 생성하여 작업을 간단하게 할 수 있음
3. 특정 사용자 또는 그룹에게 보여줄 수 있는 데이터를 제한하고 보안성을 향상시키는데 사용
4. View를 사용하여 복잡한 쿼리의 실행 속도를 높임
View 생성
❗ MySQL 기준
CREATE VIEW 문을 사용하여 만들어 짐
CREATE VIEW 문은 새로운 테이블을 만들지 않고 쿼리 결과를 View에 저장함
- 예제 테이블
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
department VARCHAR(50),
salary INT
);
CREATE VIEW high_paid_employees AS
SELECT name, department, salary
FROM employees
WHERE salary > 50000;
👉 두개의 테이블을 조인하여 View를 생성하는 것도 가능
다음과 같이 두개의 테이블(employees, departments)이 있다고 가정했을 때
employees
---------
emp_id
emp_name
dept_id
salary
departments
------------
dept_id
dept_name
두개의 테이블을 Join하여 데이터를 조회하는 View를 생성할 수 있음
CREATE VIEW employee_details AS
SELECT e.emp_name, d.dept_name, e.salary
FROM employees e
JOIN departments d ON e.dept_id = d.dept_id;
View 조회
View는 데이터베이스 내의 다른 테이블과 마찬가지로 SELECT 문들 사용하여 조회할 수 있음
View를 사용하여 데이터를 조회할 때, View에서 저장된 데이터는 실제로 저장된 데이터가 아니라
View를 생성할 때 사용한 쿼리 결과를 기반으로 조회함
SELECT * FROM high_paid_employees;
✔ View를 수정하면 View를 기반으로 한 모든 쿼리에 영향을 미치게 됨
View를 사용할 땐 데이터의 일관성을 유지하기 위해 신중하게 설계해야 함
반응형
'💾 Data > SQL' 카테고리의 다른 글
[SQL] 프로시저와 함수 (0) | 2023.05.26 |
---|---|
[MySQL] 데이터 타입 변환하기 (0) | 2023.05.18 |
[SQL] 데이터 그룹화/JOIN (0) | 2023.03.29 |
[SQL] 데이터 수정/데이터 제어 (0) | 2023.03.29 |
[SQL] 데이터 검색하기 (0) | 2023.03.23 |