一、视图
1.视图
在数据库中有很多表,表中存放的是实际数据,视图中存放的是SQL查询语句,当我们通过客户端连接到数据库开始使用视图的时候,会先运行视图里面的SQL查询语句,从表中查到数据保存到一张临时表中。这个临时表会在数据库与客户端的连接断开后被删除。因此视图存放的不是数据,是SQL查询语句。
2.创建视图
create view as语句 +SQL语句
视图名字为:按性别汇总
3.使用视图
创建好的视图直接在 from+视图名 就可以用了
删除视图
4.视图作用
经常使用某些SQL语句,存为视图就可以直接用,不用每次都写一遍
视图中的数据会随着原表的变化自动更新,可以保证数据的最新状态,这是因为视图存的是SQL语句,每次查的时候都是从原表之中去查
不需要保存数据,可以节省数据存放的空间
5.使用视图注意事项
避免在视图内再创建视图,多重视图会降低SQL的性能和效率
不能往视图里面插入数据,会报错
二、子查询
1.子查询
子查询就是一次性的视图,就是在from子句中直接写定义视图的SQL查询语句
在一个select语句中嵌套另一个select语句
as 按性别汇总 就是子查询的名称
会先运行子查询,再将第一步的结果当作外部查询的一部分,运行外部的查询
2.使用子查询
子查询可以放在where当中,用in any all一起使用,使用方法就是在in,any,all后面加(子查询)
IN
ANY ALL
与比较运算符一起使用
ANY(子查询)与SOME(子查询)完全相同