GaussDB view视图的用法
1 视图的定义
视图是可视化的表。
2 create view 语句
在sql 中,视图是基于 sql 语句的结果集的可视化表。视图包含行和列,就像真正的表一样。视图中的字段是一个或多个数据库中真实表中的字段。
您可以添加 sql 函数,在哪里添加,并将语句连接到视图,或者您可以呈现数据,就像数据来自单个表一样。
3 create view 语法
create view view_name as
select column_name(s)
from table_name
where condition
注:
视图总是显示最新数据!每当用户查询视图时,数据库引擎就使用视图的 sql语句重新构建数据。
4 create view 举例
我们以表customers 为例
csdn=> select * from customers;id | name | addr | city | zip | province
----+------+--------------+------+--------+----------1 | 张三 | 北京路27号 | 上海 | 200000 | 上海市2 | 李四 | 南京路12号 | 杭州 | 310000 | 浙江市3 | 王五 | 花城大道17号 | 广州 | 510000 | 广州省4 | 马六 | 江夏路19号 | 武汉 | 430000 | 湖北省5 | 赵七 | 西二旗12号 | 北京 | 100000 | 北京市
(5 rows)csdn=>
创建视图从customer表中列出了所有广东省的客户。
这个视图使用下面的 sql 创建:
create view customer_gd as select * from customers where province='广东省'
我们可以像这样查询上面这个视图:
select * from customer_gd
查看一下视图中的结果:
下面的我们以"products"表为示例
csdn=> select * from products;id | name | supplier_id | catalog_id | specification | price
----+------+-------------+------------+---------------+-------1 | 面包 | 1 | 1 | 10个/袋 | 18.002 | 大米 | 1 | 1 | 25kg/袋 | 75.003 | 苹果 | 1 | 2 | 10kg/箱 | 50.004 | 香蕉 | 2 | 2 | 10kg/箱 | 45.005 | 雪梨 | 2 | 2 | 10kg/箱 | 60.00
(5 rows)csdn=>
我们选取 "Products" 表中所有价格高于平均价格的产品:
create view products_above_average_price
as select name,price from products where price>(select avg(price) from products);
我们可以像这样查询上面这个视图:
select * from products_above_average_price;
结果:
5 删除视图
可以通过 drop view 命令来删除视图。
drop view view_name;
例如我们要删除刚才新建的视图"prod_above_avg_price;"
drop view prod_above_avg_price;
结果:
6 批注
视图是数据库中一个比较重要的组成部分,在隔离实体表的前提下还可以让用户查询到需要的数据,可以起到保护底层数据的作用。同时针对不同的人群,视图也可以起到简化用户对数据的理解。