当前位置: 首页 > web >正文

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 批注

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

http://www.xdnf.cn/news/16204.html

相关文章:

  • now能减少mysql的压力吗
  • 重写 与 重载
  • OpenCV(02)图像颜色处理,灰度化,二值化,仿射变换
  • 优化 Elasticsearch JVM 参数配置指南
  • 浙大Fast Lab:融合3D激光雷达与强化学习的「端到端导航」,让无人机“飞”在点云上!
  • 【Linux-云原生-笔记】keepalived相关
  • OSPF路由协议——上
  • Android MediaCodec 的使用和源码实现分析
  • VSCode 开发 STM32 - clangd 带来的极致补全体验
  • Zipformer
  • ZKmall开源商城微服务架构实战:Java 商城系统的模块化拆分与通信之道
  • 小白做投资测算,如何快速上手?
  • 反向传播及优化器
  • 《WebGL打造高性能3D粒子特效系统:从0到1的技术探秘》
  • QooCam3 App 版本更新
  • 开源的语音合成大模型-Cosyvoice使用介绍
  • 《互联网信息服务算法推荐管理规定》解读
  • web安全 | docker复杂环境下的内网打点
  • 聊聊 Flutter 在 iOS 真机 Debug 运行出现 Timed out *** to update 的问题
  • ZLMediaKit流媒体服务器WebRTC页面显示:使用docker部署
  • 软件开发、项目开发基本步骤
  • Spark实现WorldCount执行流程图
  • iOS上使用WebRTC推拉流的案例
  • C++ std::list概念与使用案例
  • 深入解析预训练语言模型在文本生成中的革命性应用:技术全景与未来挑战
  • numpy 与 pandas 库详解
  • 电脑32位系统能改64位系统吗
  • Qt调试技巧与常见错误解决方法
  • IDEA maven加载依赖失败不展示Dependencies项
  • 慢 SQL接口性能优化实战