1、嵌套子查询
优点:使用灵活,可以成为SQL语句的的多个部分。
子查询作为查询条件使用
子查询作为临时表使用
子查询作为列使用
降低SQL的语句的复杂度,提高SQL语句的可读性
2、IN和NOT IN
IN和NOT IN 通常在WHERE子句中使用,在IN 和NOT IN后接的子查询中,可以有多个值出现,但必须只能有一列
3、EXISTS 和 NOT EXISTS
EXISTS 和 NOT EXISTS 表示存在和不存在的意思 在语句中会判断 EXISTS 和 NOT EXISTS 后接的子句是否存在和是否不存在
NOT EXISTS 和 EXISTS 一样 唯一的区别就是意义相反。
4、 some any all
在SQL查询中 some和any 的作用是一样的 表示其中的任何一项 比如 大于其中做小的 all 则表示 所有的项 表示大于其中最大的。
5、使用compute 和 compute by 进行汇总查询
使用了compute进行汇总计算后的查询结果得到了两个结果集,第一个结果集反回查询语句前面的查询明细,后一个结果集反回汇总的结果,也可以在compute子句中添加多个对总计算表达式
- 可选by 关键字 他基于每一列计算的进行聚合
- 行聚合函数名称 sum avg max min 或 count
- 要对其执行行聚合函数的列
6、排序函数
语法: OVER(【分组子句】排序子句【DESC|ASC】)
- ROW_NUMBER 根据排序子句给出递增连续的序号。
- RANK 根据排序子句给出递增的序号 遇到相同的结果是序号相同 但是存在调好。
- DENSE_RANK 根据排序子句给出递增的序号 遇到相同的结果是序号相同 不太哦好。