PGSQL - 视图
admin
2024-03-27 09:59:59
0

视图概述

视图(View)本质上是一个存储在数据库中的查询语句。视图本身不包含数据,也被称为虚拟 表。我们在创建视图时给它指定了一个名称,然后可以像表一样对其进行查询。 合理使用的视图可以给我们带来以下好处: • 替代复杂查询,减少复杂性。将复杂的查询语句定义为视图,然后使用视图进行查询, 可以隐藏 具体的实现; • 提供一致性接口,实现业务规则。在视图的定义中增加业务逻辑,对外提供统一的接口;当底层 表结构发生变化时,只需要修改视图接口,而不需要修改外部应用,可以简化代码的维护并 减少错误; • 控制对于表的访问,提高安全性。通过视图为用户提供数据访问,而不是直接访问表; 同时可以限制允许访问某些敏感信息,例如身份证号、工资等。

创建视图

create view view_name  as query; view_name 是视图的名称;AS 之后是视图的查询语句,可以是简单查询或者复杂的查询。
CREATE VIEW emp_details_view
AS SELECTe.employee_id, e.job_id, e.manager_id, e.department_id,d.location_id,e.first_name,e.last_name,e.salary,e.commission_pct,d.department_name,j.job_title
FROM employees e
JOIN departments d ON (e.department_id = d.department_id)
JOIN jobs j ON (j.job_id = e.job_id);使用视图select * from emp_details_view where department_name = 'IT';

修改视图

create or replace view view_name as query

删除视图

drop view name

递归视图

CREATE RECURSIVE VIEW employee_path(employee_id, employee_name, path) ASSELECT employee_id, CONCAT(first_name, ',', last_name), CONCAT(first_name, 
',', last_name) AS pathFROM employeesWHERE manager_id IS NULLUNION ALLSELECT e.employee_id, CONCAT(e.first_name, ',', e.last_name), 
CONCAT(ep.path, '->', e.first_name, ',', e.last_name)FROM employee_path epJOIN employees e ON ep.employee_id = e.manager_id;

相关内容

热门资讯

北方华创,巨额商誉压力突然高悬... 文丨詹詹编辑丨百进来源丨新商悟(本文约为 1300字)当国内半导体设备龙头北方华创交出一份“营收创历...
长城华西银行原女掌门已回老东家... 湘财Plus注意到,四川银行入主长城华西银行后,该行核心管理人员调整基本落定,法定代表人已正式变更为...
立案,跌停!这家“童年记忆”,... 沉浮多年,方向何在?最近被立案的上市公司,着实有些多,就在上周末,又有一家上市公司及原董事长被立案调...
加码生态环境监测!生态环境部:... 本文来源:时代周报 作者:李杭4月27日,生态环境部举行4月例行新闻发布会。 生态环境部4月例行新...
东方甄选主播“离职潮”持续发酵... 红星资本局4月27日消息,东方甄选(01797.HK)主播“离职潮”事件仍在发酵。在社交平台上,有部...
SpaceX万亿IPO前夜:马... 从20亿美元收购,到万亿IPO前的最后叙事。2026年4月23日深夜,特斯拉向SEC提交了一份季报文...
前董事长陆宏达“闪电辞职”牵扯... 紧急澄清前董事长性侵指控后,智度股份仍难挡股价大跌。4月27日,智度股份早盘一度重挫逾9%,逼近6....
高盛:一场全球性化工危机正在爆... 霍尔木兹海峡通行受阻,正在引发一场史无前例的全球化工供应冲击。高盛最新报告表示,基础化工品价格近几周...
这笔400亿,谷歌买的不是友谊... 4月25日,Anthropic宣布谷歌将向其投资最高400亿美元——先期注入100亿美元现金,估值3...
粪坑,爬出来了 粪坑,爬出来了... 图:Simon Bailly 读者说:“有人发现吗?2019年蚂蚁的大热基金鹏华快回本了,当年最高回...