视图是一个虚表,是用户对于自己想要观察的数据的一个“集合”,一个显示的窗口。
1、视图的定义
CREATE VIEW 模式名.所创建的视图名字 AS
SELECT 列1,列2,列3//视图中希望有的列名
FROM 模式名.视图数据来源的表
WHERE 判断条件;
//除了从单表上建立视图,也可基于多表建立视图
例如
CREATE VIEW PURCHASING.VENDOR_EXCELLENT AS
SELECT VENDORID, ACCOUNTNO, NAME, ACTIVEFLAG, CREDIT
FROM PURCHASING.VENDOR
WHERE CREDIT = 1;
//对 VENDOR 表创建一个视图,名为 VENDOR_EXCELLENT,保存信誉等级为 1 的供
应商,列名有:VENDORID,ACCOUNTNO,NAME,ACTIVEFLAG。
注:如果在判断条件这里用上了 GROUP BY 子句,那么定义的视图也称为分组视图,分组视图的<视图名>后所带的<列名>不可以包含集函数,例如COUNT。
2、视图查询
SELECT * FROM 模式名.视图名
可以在查询出的视图上做增删改查,也可以在建好的视图上再建立视图。
视图尽管是虚表,但是也是可以和其他的基表或视图作连接查询的,例如
SELECT T1.PRODUCTID, T1.NAME, T2.STANDARDPRICE, T3.NAME
FROM PRODUCTION.PRODUCT T1, PRODUCTION.PRODUCT_VENDOR T2,
PURCHASING.VENDOR_EXCELLENT