視圖 是基於 SQL 查詢結果集的 虛擬表。它包含行與欄位,字段來源於一或多個真實資料表。視圖可封裝複雜邏輯 (函數、WHERE、JOIN),簡化查詢並增強安全性。
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition;
特性:視圖總是顯示最新資料!每次查詢視圖時,資料庫引擎透過定義的 SQL 重建資料。
CREATE VIEW [Current Product List] AS
SELECT ProductID, ProductName
FROM Products
WHERE Discontinued = No;
查詢:SELECT * FROM [Current Product List];
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, UnitPrice
FROM Products
WHERE UnitPrice > (SELECT AVG(UnitPrice) FROM Products);
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName, Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName;
加條件查詢飲料類銷售:SELECT * FROM [Category Sales For 1997] WHERE CategoryName = 'Beverages';
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition;
範例:為當前產品清單新增 Category 欄位
CREATE VIEW [Current Product List] AS
SELECT ProductID, ProductName, Category
FROM Products
WHERE Discontinued = No;
DROP VIEW view_name;