视图是虚拟的表,包含的不是数据而是查询,用于封装 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;