视图包含聚合函数 查询慢_SQL——第四关:复杂查询

今天学习第四关--汇总分析,本关分为6个部分:

  1. 视图
  2. 子查询
  3. 标量子查询
  4. 关联子查询
  5. 用sql解决业务问题
  6. 各种函数

视图的建立:

create view 视图名(X,Y)

as select(x,y)

其中X和x,Y和y对应。

efc8b68c6d47f36d495f670ee3c0f0d8.png

使用select 语句可以显示视图。

视图的优点:

  1. 数据会随着表更新而更新。
  2. 视图节约空间。

子查询: select中嵌套select

1e9c0699e4df44e3d4e201824a62642f.png

注意事项:

  1. 避免使用多层子查询(浪费内存)。
  2. all、any、some 这三个不能接四则运算,(可以把运算移动到表达式另外一端。)

标量子查询:将where中的聚合函数变为一个具体值。

关联子查询:where a1x = a2x 不同表里面相同的列名。关联条件只能在子查询中写到。

各种函数:

算术函数:round(四舍五入)abs(绝对值)mod(求余数)

0562220cd11384cfb85c70e04b663163.png

字符函数: length(求长度)lower(变小写)upper(变大写)

f5610a1c3915dab5966fd8c9bf306a15.png

concat(x,y)(连接x和y) replace(x,y,z)(将x中的y用z替换) substring(x,Y,Z) (从x的第Y个字符开始选取Z个)

af8e5afa594aebf54c3b81a91ed38589.png

current_date (选取当前日期)

5aa64151dacd066dc8323b6486f6f983.png

current_time (选取当前时间)

0d5f71d12407444bddde5b7c3d16bcd5.png

year month day(分别取年,月,日)

d56dcf799699a6ed89d9c1a4ae133342.png

附加:

1: select中尽量避免用到*

2: where中比较符号左侧不要写表达式/函数,可移动到右侧。

3:避免用到in 和 not in,可改为between a and b and c

4:在用到or的查询子句时候,用自身连接( union)合并多个select的查询返回结果。( Union all )可选择重复的查询结果。

作业部分:

b0b3d1b62054ea7a3d552eeb1843f77a.png

0764cd36f661232d1d2afb1560b3e62f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值