视图是虚拟的表,包含的不是数据而是查询,用于封装 SELECT 语句
视图的常见应用
- 重用 SQL 语句
- 简化复杂 SQL 操作
- 使用表的一部分
- 保护数据
- 更改数据格式和表示
视图的特点
- 可以嵌套
- 可能禁止使用 ORDER BY 子句
- 可能需要对返回的所有列命名
- 不能索引
创建视图
-- 联结三个表
CREATE VIEW ProductCustomers AS
SELECT cust_name, cust_contact, prod_id
FROM Customers, Orders, OrderItems
WHERE Customers.cust_id = Orders.cust_id
AND OrderItems.order_num = Orders.order_num;
使用视图
SELECT cust_name, cust_contact
FROM ProductCustomers
WHERE prod_id = 'RGAN01';
使用视图重新格式化数据
CREATE VIEW VendorLocations AS
SELECT RTRIM(vend_name) || '(' || RTRIM(vend_country) || ')'
AS vend_title
FROM Vendors;
使用视图与计算字段
CREATE VIEW OrderItemsExpanded AS
SELECT order_num,
prod_id,
quantity,
item_price,
quantity*item_price AS expanded_price
FROM OrderItems;