sql 字符串截取_SQL复杂查询

一、视图

1、视图不存放数据,存放的是SQL查询语句,便用视图时,会运行视图里的SQL查询语句创建出一张临时表。

2、视图的作用

  • 对于经常使用的SQL语句保存成视图,这样可以重复使用,可以提高效率。
  • 随着原表的变化,视图自动更新,保持最新的状态
  • 视图不需要保存数据,可以节省存放的空间。

3、如何创建视图

create view 视图名称(<视图列名1>,<视图列名2>,.....)

as

<select查询语句>;

4、注意事项

  • 避免在视图的基础上再创建视图
  • 不能往视图里插入数据

二、子查询

一次性的视图,在select查询语句中嵌套了另一个select查询语句。

先运行子查询再运行外部的查询语句。

from(子查询)

88787ddb6fd59f992642b6ddf7ea86b8.png

where...in(子查询)

79572b6ea29bbcab7186ff759ecf953a.png

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

43b194da5ed30198eee1623bb7002a6c.png

where...all(子查询)

f2d74ec7ade13aee244b1dd1dfeecbc5.png

注意事项:

1、 a >3*all(b) a/3 >all(b) 这两种表达方式应采取第二种

2、select...from(子查询(子查询)) 避免使用多层嵌套

3、select...from...

子查询 as 子查询名称 as 不省略

三、标量子查询

在子查询上做出限制,只返回一行一列的查询结果,是一个单一的值。

93b401a8a319c6d7a6b8ca5e1ab0bb75.png

四、关联子查询

关联子查询适应在每个组里进行比较,关联条件写在子查询中

例:查找出每个课程中大于对应课程平均成绩的学生

77e175b9941375227022c57c1c3eed97.png

关联条件 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() 日期对应星期几
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值