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.00
  2 | 大米 |           1 |          1 | 25kg/袋       | 75.00
  3 | 苹果 |           1 |          2 | 10kg/箱       | 50.00
  4 | 香蕉 |           2 |          2 | 10kg/箱       | 45.00
  5 | 雪梨 |           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 批注

视图是数据库中一个比较重要的组成部分,在隔离实体表的前提下还可以让用户查询到需要的数据,可以起到保护底层数据的作用。同时针对不同的人群,视图也可以起到简化用户对数据的理解。

相关推荐
~央千澈~4 分钟前
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
数据库·mongodb
Java初学者小白1 小时前
秋招Day18 - MyBatis - 基础
java·数据库·mybatis
ALLSectorSorft2 小时前
教务管理系统学排课教务系统模块设计
数据库·sql·oracle
小云数据库服务专线2 小时前
GaussDB 数据库架构师(八) 等待事件概述-1
数据库·数据库架构·gaussdb
是Yu欸4 小时前
【浏览器插件冲突】Edge浏览器加载不出来CSDN创作者中心
java·数据库·edge
安卓开发者4 小时前
Android Room 持久化库:简化数据库操作
android·数据库
极简之美4 小时前
spring boot h2数据库无法链接问题
数据库·spring boot·oracle
SelectDB6 小时前
浩瀚深度:从 ClickHouse 到 Doris,支撑单表 13PB、534 万亿行的超大规模数据分析场景
大数据·数据库·apache
SelectDB6 小时前
公开免费!Apache Doris & SelectDB 培训与认证课程正式上线
大数据·数据库·apache
我的ID配享太庙呀6 小时前
从零开始:在 PyCharm 中搭建 Django 商城的用户注册与登录功能(轮播图+商品页-小白入门版)
数据库·python·django·sqlite·web·教育电商