视图
子查询
标量子查询
关联子查询
各种函数
一.视图
1)什么是视图
表中存放的是实际数据而视图存放的是sql 查询语句,使用视图时会运行视图里的sql查询语句创建出一张临时表,当断开连接时视图将自动删除
2)如何创建视图并使用
创建
create view 视图名称(列名1,列名2)
as
select....
案例:
create view 按性别分类( 性别,人数)
AS
select 性别,count(*)
from student
group by 性别;
①其中视图列名顺序与select语句中列名顺序一一对应,但是名称可不一样
使用:创建后查看视图先刷新,视图作为临时表可以使用,在from语句中使用视图名称代表名称
3)有什么用
视图在我们需要频繁使用的时候创建
4)注意事项
①避免视图中嵌套视图
②视图中不能插入数据,视图只是储存语句
二.子查询
1)什么是子查询
select 性别,人数
from(select 性别,count(*) as 人数
from student
group by 性别)as 按性别分类;
from 语句中的为子查询,可将子查询命名
sql的运算顺序:先运算子查询中内容
2)如何使用子查询
in any /some all
例:哪些学生的成绩比课程0002的全部成绩的任意一个高-------any/some
拆解问题:①课程0002的全部成绩
②某个学生的成绩 大于 任意 ①中的成绩就符合条件
①课程0002的全部成绩
select 成绩
from score
where 课程号='0002'
②某个学生的成绩 大于 任意 ①中的成绩就符合条件
select 学号,成绩
from score
where 成绩>any(子查询)
将语句合并在一起
select 学号,成绩
from score
where 成绩>any(select 成绩
from score
where 课程号='0002');