4.1SQL视图简介和使用
![4ecd909458936bce6794edf674a89f18.png](https://i-blog.csdnimg.cn/blog_migrate/c4e5864ffbbb532202c6a4104f297d63.jpeg)
视图是另一种查看数据的入口,常规视图本身并不存储实际的数据,而仅仅是由SQL语句组成的查询定义的虚拟表 。
从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图(除插入数据)。
- 视图隐藏了底层的表结构,简化了数据访问操作,查看者不再需要知道底层表的结构及其之间的关系。
- 视图提供了一个统一访问数据的接口。(即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限)
- 从而加强了安全性,使用户只能看到视图所显示的数据。
- 视图还可以被嵌套,一个视图中可以嵌套另一个视图。
/*视图创建*/
create view 视图名称(<视图列名1><视图列名2>)
as
<select 查询语句>
4.2子查询及标量子查询,关联子查询
子查询:在SQL语句中直接查询视图中的表
—— in子查询:对比
—— any子查询:与some一样,对比另一组的任意一个(如:找出A组中的比B组中任意一个高的数据)
—— all子查询:对比全部(如:找出A组中的要比B组中的全部都高的数据)
【注意事项】
不能针对子查询使用运算符
子查询之间不能 互相嵌套
子查询后不能增加子查询别名
在SQL运行顺序中,先运行一级语句中的子查询,后运行二级语句中的子查询
标量子查询:查询单一的值(in,any,all,between)
关联子查询:关联“底层表”与“视图表”中的数据
4.2.1子查询:找出每个课程里,成绩最低的学号
/*查询思路:
SELECT查询结果:学号,成绩
FROM查询地址,从score表中查找数据
WHERE筛选条件:用子查询找*/
select 学号,成绩
from score
where 成绩 in(SELECT MIN(成绩)
FROM score
GROUP BY 课程号);
![7580c155a91ead2f5175503420d99dbd.png](https://i-blog.csdnimg.cn/blog_migrate/eb64abc4256d738b777f06bbb58c5ec0.jpeg)
4.2.2标量子查询:查找大于平均成绩学生的学号和成绩
/*查询思路:
SELECT查询结果:学号,成绩
FROM查询地址,从score表中查找数据
WHERE筛选条件:成绩>平均成绩(用子查询计算平均成绩)*/
select 学号,成绩
from score
where 成绩>(select avg(成绩)
from score);
![5911efea84b2fbdd95bc41a8633c2c7a.png](https://i-blog.csdnimg.cn/blog_migrate/87c88e231f4c343023ef0ffebf8d2764.jpeg)
4.2.3关联子查询:找出每个课程中大于对应课程平均成绩的学生
/*查询思路:
SELECT查询结果:课程号,学号,成绩
FROM查询地址,从score表中查找数据,以S1作为别名
WHERE筛选条件:成绩>平均成绩(用子查询计算平均成绩,并以S2作为别名,关联S1)*/
select 课程号,学号,成绩
from score as S1
where 成绩>(select avg(成绩)
from score as S2
WHERE S1.课程号=S2.课程号
GROUP BY 课程号);
![d1865f3ba7340e2602d193619c910561.png](https://i-blog.csdnimg.cn/blog_migrate/36be5337a559ac7bb40b07040b92916e.jpeg)
4.3SQL常用函数整理:
![c830474966ae990851e86596e715f5a3.png](https://i-blog.csdnimg.cn/blog_migrate/8e0a8e632c80d37b70f94b141580ad23.jpeg)
sqlzoo练习:
![77e8d7fda4c43047ca83b9b0198462e0.png](https://i-blog.csdnimg.cn/blog_migrate/db9a20c467c09d38aa0fb83bc1685112.jpeg)
![e71e343f9336f6d78e8327f61d3bf8c8.png](https://i-blog.csdnimg.cn/blog_migrate/3a4a94fd6cac6fd5dc23e2bcafcd7b10.jpeg)
![20adf90fef8e9b00d416953dae660e2a.png](https://i-blog.csdnimg.cn/blog_migrate/ea96913221cefcbebf9d9f1091147530.jpeg)
![a8c1be71b92c61931eeb19437dca0a44.png](https://i-blog.csdnimg.cn/blog_migrate/7d95906341f3c616c608a524fbd799bb.jpeg)
![722c3c1d0c387c8203ab86a18eb5024b.png](https://i-blog.csdnimg.cn/blog_migrate/822f1222b086701265a9f985f5961027.jpeg)
![b696524d42e6219c8a09f1656985a669.png](https://i-blog.csdnimg.cn/blog_migrate/6468f7065cd3610ba07535442b5e11a2.jpeg)
![2a9d389422720af98f36ec93151a0e66.png](https://i-blog.csdnimg.cn/blog_migrate/05cce2ba8b7b1b1146c4e5ca0e5bf881.jpeg)
![92f1cccce1aeb808e63ac3b8554b7f1e.png](https://i-blog.csdnimg.cn/blog_migrate/ac121f2bfe2f572d7005d8dbd4746ac9.jpeg)
![aab5764e98946fcd141e7614dd55a88d.png](https://i-blog.csdnimg.cn/blog_migrate/661239907c292b8a466fc8912ef7ad17.jpeg)
![a542213c7f29f5cb34f9abd87e82ce9b.png](https://i-blog.csdnimg.cn/blog_migrate/057378babfda47f8e76ee9eecfe5d03f.jpeg)