一、视图
1、视图不存放数据,存放的是SQL查询语句,便用视图时,会运行视图里的SQL查询语句创建出一张临时表。
2、视图的作用
- 对于经常使用的SQL语句保存成视图,这样可以重复使用,可以提高效率。
- 随着原表的变化,视图自动更新,保持最新的状态
- 视图不需要保存数据,可以节省存放的空间。
3、如何创建视图
create view 视图名称(<视图列名1>,<视图列名2>,.....)
as
<select查询语句>;
4、注意事项
- 避免在视图的基础上再创建视图
- 不能往视图里插入数据
二、子查询
一次性的视图,在select查询语句中嵌套了另一个select查询语句。
先运行子查询再运行外部的查询语句。
from(子查询)

where...in(子查询)

where...any(子查询) where ...some(子查询)

where...all(子查询)

注意事项:
1、 a >3*all(b) a/3 >all(b) 这两种表达方式应采取第二种
2、select...from(子查询(子查询)) 避免使用多层嵌套
3、select...from...
子查询 as 子查询名称 as 不省略
三、标量子查询
在子查询上做出限制,只返回一行一列的查询结果,是一个单一的值。

四、关联子查询
关联子查询适应在每个组里进行比较,关联条件写在子查询中
例:查找出每个课程中大于对应课程平均成绩的学生

关联条件 where s1.课程号 = s2.课程号
五、各种函数
1、汇总函数
- count() 求列的行数
- sum()求和
- avg()求平均值
- max()求最大值
- min()求最小值
2、算术函数
- round(数值,保留小数的位) 对数据进行四舍五入
- abs() 绝对值
- mod(被除数,除数)
3、字符串函数
- length() 求长度
- lower() 转换为小写
- upper() 转换为大写
- concat(字符串1,字符串2) 字符串拼接
- replace(字符串,被替换的字符串,用什么字符串替换) 字符串替换
- substring(字符串,截取的起始位置,截取长度) 字符串截取
4、日期函数
- current_date 当前时期
- current_time 当前时间
- current_timestamp 当前日期和时间
- year() 年份
- month() 月份
- day() 日期
- dayname() 日期对应星期几