第三章 SQL高级查询 总结

第三章 SQL高级查询

1.嵌套子查询

子查询使用灵活,可以作为查询条件使用,作为临时表使用,作为列使用。
优点是降低了SQL语句的复杂度,提高了SQL语句的可读性。

2.IN和NOT IN

IN和NOT IN通常在WHERE子句中使用,在IN和NOT IN后接的子句查询中,可以有多个值出现,但必须只能有一列。

3.EXISTS和NOT EXISTS

EXISTS和NOT EXISTS表示存在和不存在的意思。
在语句中会判断EXISTS和NOT EXISTS后接的子句是否存在和是否不存在。
EXISTS和NOT EXISTS的用法一样,唯一区别是意思相反。

4.SOME、ANY、ALL

在SQL查询中SOME、ANY、ALL后必须跟子查询。
在SQL查询中SOME和ANY的作用一样,表示其中任何一项,ALL表示其中所有的项。

5.COMPUTE和COMPUTE BY

使用了COMPUTE进行汇总计算后的查询得到了两个结果集,第一个结果及返回查询语句前面的查询明细,后一个结果集返回汇总的结果,我们也可以在COMPUTE子句中添加多个汇总计算表达式。
COMPUTE子句需要下列信息:
可选BY关键字,它基于每一列计算指定的行聚合。
行聚合函数名称,它包括SUM、AVG、MIN、MAX或COUNT。
要对其执行行聚合函数的列。
在有些场景中我们需要对结果先进行分组,然后进行汇总计算。这种情况下我们可以使用COMPUTE BY进行分组汇总查询。

6.排序函数

语法:排序函数OVER([分组子句]排序子句[DESC/ASC])
①ROW_NUMBER函数不并列不跳空。
②RANK函数存在并列且跳空。
③DENSE_RANK函数存在并列但不跳空。
分组子句:PARTITION BY
排序子句:ORDER BY

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值