《SQL教程》笔记 视图

1.什么是视图

在SQL来看,视图就是一张表
视图和表的区别在于 视图存放的是SELECT语句,没有存放实际数据;而表中存放着实际数据
创建视图的语句:

CREATE VIEW (视图名称) (1,列2...)
AS
(SELECT 语句)

举例:

CREATE VIEW new_product (product_profit, product_date)
AS
SELECT purchase_price,
	   regist_date
FROM product
where product_id = '0001'

还可视图中嵌套视图,即FROM后接另一个视图,但会影响效率,不建议

一、同时,因为是视图是通过SELECT语句从表中获得数据,而表中的数据行是没有顺序的
因此在创建视图是SELECT语句中不可使用ORDER BY函数
二、视图可以进行更新,但有如下限制:
1.SELECT 中未使用 DISTINCT
2.FROM 的表中只有一张表
3.未使用GROUP BYHAVING
书中155页
删除视图用DROP VIEW (视图名)

2.子查询

在这里插入图片描述也在FROM后可无限增加子查询的层数

3.标量子查询

标量子查询只能返回一行中的一列数据,即一个数据
在这里插入图片描述因为WHERE中不能使用聚合函数如AVG,这时候标量子查询就派上了用场,但要特别注意,他只能查询一个值,如果会返回多个值,会发生错误
同时标量子查询的书写位置几乎在哪里都可以
在这里插入图片描述

关联子查询

这个操作非常重要
关联子查询以细分的组为基础,对组内商品的平均价格和各商品的销售单价进行比较。
比如求取商品中衣服类商品中高于该类平均销售额的商品,鞋子类商品中高于该类销售额的商品,此时用子查询是无法做到的
在这里插入图片描述
在这里插入图片描述
注意:关联子查询只在子查询中有效,出了子查询就失效了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值