今天学习第四关--汇总分析,本关分为6个部分:
- 视图
- 子查询
- 标量子查询
- 关联子查询
- 用sql解决业务问题
- 各种函数
视图的建立:
create view 视图名(X,Y)
as select(x,y)
其中X和x,Y和y对应。
![efc8b68c6d47f36d495f670ee3c0f0d8.png](https://i-blog.csdnimg.cn/blog_migrate/61e8fdf56236d1653de0a29ddae3b5fe.png)
使用select 语句可以显示视图。
视图的优点:
- 数据会随着表更新而更新。
- 视图节约空间。
子查询: select中嵌套select
![1e9c0699e4df44e3d4e201824a62642f.png](https://i-blog.csdnimg.cn/blog_migrate/fd11dcc713bad25078661a8b49e73e5f.png)
注意事项:
- 避免使用多层子查询(浪费内存)。
- all、any、some 这三个不能接四则运算,(可以把运算移动到表达式另外一端。)
标量子查询:将where中的聚合函数变为一个具体值。
关联子查询:where a1x = a2x 不同表里面相同的列名。关联条件只能在子查询中写到。
各种函数:
算术函数:round(四舍五入)abs(绝对值)mod(求余数)
![0562220cd11384cfb85c70e04b663163.png](https://i-blog.csdnimg.cn/blog_migrate/cbfa6bdaf0b6ae24c53acd1e529b085d.png)
字符函数: length(求长度)lower(变小写)upper(变大写)
![f5610a1c3915dab5966fd8c9bf306a15.png](https://i-blog.csdnimg.cn/blog_migrate/b667e529e1ffd2b8d88d7d4b391e03a9.png)
concat(x,y)(连接x和y) replace(x,y,z)(将x中的y用z替换) substring(x,Y,Z) (从x的第Y个字符开始选取Z个)
![af8e5afa594aebf54c3b81a91ed38589.png](https://i-blog.csdnimg.cn/blog_migrate/437a4482b296a9a7adefc2e31964b228.png)
current_date (选取当前日期)
![5aa64151dacd066dc8323b6486f6f983.png](https://i-blog.csdnimg.cn/blog_migrate/127495898ff36cbd2c129676e77631b8.png)
current_time (选取当前时间)
![0d5f71d12407444bddde5b7c3d16bcd5.png](https://i-blog.csdnimg.cn/blog_migrate/47e035eeffcbaafad4d707d150024729.png)
year month day(分别取年,月,日)
![d56dcf799699a6ed89d9c1a4ae133342.png](https://i-blog.csdnimg.cn/blog_migrate/fb421044f0d5c63448c045a1d2e247ba.png)
附加:
1: select中尽量避免用到*
2: where中比较符号左侧不要写表达式/函数,可移动到右侧。
3:避免用到in 和 not in,可改为between a and b and c
4:在用到or的查询子句时候,用自身连接( union)合并多个select的查询返回结果。( Union all )可选择重复的查询结果。
作业部分:
![b0b3d1b62054ea7a3d552eeb1843f77a.png](https://i-blog.csdnimg.cn/blog_migrate/7c96316306fa632ddc898ab8ab4151d5.jpeg)
![0764cd36f661232d1d2afb1560b3e62f.png](https://i-blog.csdnimg.cn/blog_migrate/7591ea4d29d51c2241cf8d4446168d61.jpeg)