[mySQL] 서브쿼리 중첩의 문제점과 뷰(view) 이해하기
DB 2023. 5. 20.
뷰(view): 가상테이블, 데이터베이스의 여러 테이블에서 얻은 정보를 하나의 테이블처럼 보여주는 도구이다.
복잡한 쿼리를 뷰로 만들어 놓고 다른 테이블에서 그 뷰를 마치 테이블 처럼 사용할 수 있다.
아래 SQL문은 '고객'과 '주문' 테이블이 있고, 고객별로 총 주문 금액을 알게 해 준다.
SELECT customers.id, customers.name, SUM(orders.amount) as total_order_amount
FROM customers
INNER JOIN orders ON customers.id = orders.customer_id
GROUP BY customers.id;
이 쿼리를 customer_orders라는 뷰로 아래와 같이 만들 수 있다. ( // 는 주석 )
CREATE VIEW customer_orders AS // VIEW 이름(테이블 이름): customer_roders
SELECT customers.id, customers.name, SUM(orders.amount) as total_order_amount
FROM customers
INNER JOIN orders ON customers.id = orders.customer_id
GROUP BY customers.id;
이 뷰는 다음 예시와 같이 사용이 가능하다.
SELECT *
FROM customer_orders
WHERE total_order_amount > 1000;
뷰(view)와 일반 테이블의 차이점
뷰는 테이블 처럼 컴퓨터에서 데이터 크기만큼 물리적인 용량을 차지하고 있는 것이 아니다.
'DB' 카테고리의 다른 글
[mySQL] 데이터베이스 테이블의 row 데이터 수정 및 삭제 (0) | 2023.05.21 |
---|---|
[mySQL] 데이터베이스 테이블(Table)에 데이터 추가하기 (0) | 2023.05.20 |
[mySQL] 서브쿼리를 이용한 데이터 분석 (0) | 2023.05.19 |
[mySQL] 서브쿼리(subquery)에 대해 이해하기 (0) | 2023.05.19 |
[mySQL] 조인(JOIN) 작업에 대해 알아보기, 온라인 사전 (0) | 2023.05.18 |