CREATE VIEW
SQL에서 VIEW는 SQL 문의 결과 집합을 기반으로 하는 가상 테이블이다.
VIEW는 실제 테이블과 마찬가지로 행과 열을 포함한다.
VIEW의 필드는 데이터베이스에 있는 하나 이상의 실제 테이블에 있는 필드다.
SQL 문과 함수를 VIEW에 추가하고 데이터가 하나의 단일 테이블에서 나온 것처럼 데이터를 표시할 수 있다.
CREATE VIEW 명령문으로 VIEW가 생성된다.
구문
CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
⭐ 보기에는 항상 최신 데이터가 표시된다. 데이터베이스 엔진은 사용자가 쿼리할 때마다 보기를 다시 만든다.
예시
브라질의 모든 고객을 표시하는 보기를 생성
CREATE VIEW [Brazil Customers] AS SELECT CustomerName, ContactName FROM Customers WHERE Country = 'Brazil';
쿼리
SELECT * FROM [Brazil Customers];
기본 예시
CustomerName | ContactName |
---|---|
Comércio Mineiro | Pedro Afonso |
Familia Arquibaldo | Aria Cruz |
Gourmet Lanchonetes | André Fonseca |
Hanari Carnes | Mario Pontes |
Que Delícia | Bernardo Batista |
Queen Cozinha | Lúcia Carvalho |
Ricardo Adocicados | Janete Limeira |
Tradição Hipermercados | Anabela Domingues |
Wellington Importadora | Paula Parente |
“제품” 테이블에서 평균 가격보다 높은 가격을 가진 모든 제품을 선택하는 보기를 생성
CREATE VIEW [Products Above Average Price] AS SELECT ProductName, Price FROM Products WHERE Price > (SELECT AVG(Price) FROM Products);
쿼리
SELECT * FROM [Products Above Average Price];
ProductName | Price |
---|---|
Uncle Bob’s Organic Dried Pears | 30 |
Northwoods Cranberry Sauce | 40 |
Mishi Kobe Niku | 97 |
Ikura | 31 |
Queso Manchego La Pastora | 38 |
Alice Mutton | 39 |
Carnarvon Tigers | 62.5 |
Sir Rodney’s Marmalade | 81 |
Gumbär Gummibärchen | 31.23 |
Schoggi Schokolade | 43.9 |
Rössle Sauerkraut | 45.6 |
Thüringer Rostbratwurst | 123.79 |
Mascarpone Fabioli | 32 |
Côte de Blaye | 263.5 |
Ipoh Coffee | 46 |
Manjimup Dried Apples | 53 |
Perth Pasties | 32.8 |
Gnocchi di nonna Alice | 38 |
Raclette Courdavault | 55 |
Camembert Pierrot | 34 |
Tarte au sucre | 49.3 |
Vegie-spread | 43.9 |
Wimmers gute Semmelknödel | 33.25 |
Gudbrandsdalsost | 36 |
Mozzarella di Giovanni | 34.8 |
CREATE OR REPLACE VIEW 문
CREATE OR REPLACE VIEW 문으로 VIEW를 업데이트할 수 있다.
구문
CREATE OR REPLACE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
예시
“Brazil Customers” 보기에 “City” 열을 추가
CREATE OR REPLACE VIEW [Brazil Customers] AS SELECT CustomerName, ContactName, City FROM Customers WHERE Country = 'Brazil';
DROP VIEW 문
DROP VIEW 문으로 VIEW를 삭제할 수 있다.
구문
DROP VIEW view_name;
예시
“Brazil Customers” 보기를 삭제
DROP VIEW [Brazil Customers];
참고
W3C School - SQL CREATE VIEW Statement
W3C School - SQL Tutorial