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

SQL笔记#复杂查询

一、视图

1、视图和表

        使用试图时会执行SELECT语句并创建一张临时表。视图中保存的是SELECT语句;表中保存的是实际数据。

2、创建视图的方法

CREATE VIEW 视图名称(<视图列名1>,<视图列名2>,……)

AS

<SELECT语句>

CREATE VIEW ProductSum (product_type, cnt_product)
AS
SELECT product_type, COUNT(*)
  FROM Product
 GROUP BY product_type;
SELECT product_type, cnt_product
  FROM ProductSum;
 product_type | cnt_product
--------------+-------------
 厨房用具     |           4
 衣服         |           2
 办公用品     |           2

        还可以以视图为基础创建视图,但多重视图会降低SQL的性能。

-- 在视图的基础上创建视图
CREATE VIEW ProductSumJim (product_type, cnt_product)
AS
SELECT product_type, cnt_product
  FROM ProductSum
 WHERE product_type = '办公用品';

-- 确认创建好的视图
SELECT product_type, cnt_product
  FROM ProductSumJim;
 product_type | cnt_product
--------------+-------------
 办公用品     |           2

3、视图的限制1(定义视图时不能使用ORDER BY子句)

4、视图的限制2(对视图进行更新)

\blacksquare 通过汇总得到的表无法更新

\blacksquare 能够更新的情况(既没有聚合有没有结合)

CREATE VIEW ProductJim (product_id, product_name, product_type, sale_price, purchase_price, regist_date)
AS 
SELECT *
  FROM Product
 WHERE product_type = '办公用品';
-- 向视图中添加数据行
INSERT INTO ProductJim VALUES ('0009', '印章', '办公用品', 95, 10, '2009-11-30');

--  确认数据是否已经添加到视图中
S

相关文章:

  • 前端网页或者pwa如何实现只横屏显示,设备竖着的时候依然保持横屏
  • Linux系统之DHCP网络协议
  • 网络安全防御模型
  • Oracle23版本 创建用户 报 00959和65096错误解决办法
  • sass使用技巧与问题解决方案
  • Web Storage: LocalStorage 和 SessionStorage 深入解析
  • DeepSeek与Fluent仿真:开启流体力学学习新征程
  • ubuntu环境中安装latex并使用vscode
  • 六十天前端强化训练之第一天HTML5语义化标签深度解析与博客搭建实战
  • MySQL的Binlog解析
  • pycharm远程连接服务器运行pytorch
  • web理论总结
  • MQTT实现智能家居------5、交叉编译
  • 《从零到全栈:CSS3新增属性》
  • 【每日八股】MySQL篇(三):索引(上)
  • 自动驾驶泊车算法详解(一)
  • Python使用列表实现栈、队列学习记录
  • macpro m1 安装deepseek
  • QEMU 的详细介绍、安装指南、配置说明
  • vuetify项目添加代理跨域请求
  • 关于做女装的网站/推广普通话主题手抄报
  • 自己做盗版小说网站吗/seo销售是做什么的
  • 青岛网站制作价格/二十个优化
  • 建设人才库网站/广州市新闻最新消息
  • 在国税网站更换购票员怎么做/广州营销型网站
  • 如何做向日葵官方网站/人大常委会委员长