SQL 보기
뷰는 시각적 테이블입니다.
이 장에서는 보기를 생성, 업데이트 및 삭제하는 방법을 설명합니다.
SQL CREATE VIEW 문
SQL에서 뷰는 SQL 문의 결과 집합을 기반으로 하는 시각적 테이블입니다.
뷰에는 실제 테이블과 마찬가지로 행과 열이 포함됩니다. 뷰의 필드는 하나 이상의 데이터베이스에 있는 실제 테이블의 필드입니다.
뷰에 SQL 함수, WHERE 및 JOIN 문을 추가할 수 있으며 데이터가 단일 테이블에서 나온 것처럼 표시할 수 있습니다.
SQL CREATE VIEW 구문
SELECT 열_이름
FROM table_name
WHERE 조건
참고: 뷰에는 항상 최신 데이터가 표시됩니다! 사용자가 뷰를 쿼리할 때마다 데이터베이스 엔진은 뷰의 SQL 문을 사용하여 데이터를 재구성합니다.
SQL CREATE VIEW 예
샘플 데이터베이스 Northwind에는 기본적으로 일부 뷰가 설치되어 있습니다.
'현재 제품 목록' 보기에는 '제품' 테이블의 모든 활성 제품(단종되지 않은 제품)이 나열됩니다. 이 보기는 다음 SQL을 사용하여 생성됩니다.
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
위 뷰를 다음과 같이 쿼리할 수 있습니다.
Northwind 샘플 데이터베이스의 또 다른 뷰에서는 "Products"를 선택합니다. " 테이블에서 단가가 평균 단가보다 높은 모든 제품:
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>( SELECT AVG(UnitPrice) FROM Products)
위 뷰를 다음과 같이 쿼리할 수 있습니다.
Northwind 샘플 데이터베이스의 또 다른 뷰는 1997년 각 카테고리의 총 매출을 계산합니다. 이 보기는 "1997년 제품 판매"라는 다른 보기에서 데이터를 선택합니다.
SELECT DISTINCT CategoryName,Sum( ProductSales) AS CategorySales
FROM [1997년 제품 판매]
GROUP BY CategoryName
위 뷰를 다음과 같이 쿼리할 수 있습니다.
또한 쿼리에 조건을 추가할 수도 있습니다. 이제 "음료" 카테고리의 총 매출만 확인하면 됩니다.
WHERE CategoryName='Beverages'
SQL 업데이트 뷰
다음 구문을 사용하여 뷰를 업데이트할 수 있습니다.
SQL CREATE OR REPLACE VIEW 구문
SELECT column_name(s)
FROM table_name
WHERE 조건
이제 "Category" 열을 "Current Product List"에 추가하려고 합니다. " 보다. 다음 SQL로 보기를 업데이트합니다.
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No
SQL Drop View
DROP VIEW 명령을 통해 뷰를 삭제할 수 있습니다.