2025年pivot函数oracle用法(oracle value函数)

pivot函数oracle用法(oracle value函数)版权声明 未经博主同意 谢绝转载 请尊重原创 博主保留追究权 https developer aliyun com article 出自 进步 于辰的博客 参考笔记一 P18 3 4 P19 5 是虚拟字段 不真实存储 在返回结果集时生成 宏观作用类似序号 在每次查询时 从开始给结果集编号 常与 连用 在与 连用时 由于是在查询记录时逐个生成 并迭代 因此

大家好,我是讯享网,很高兴认识大家。



参考笔记一,P18.3/4、P19.5。

是虚拟字段,不真实存储,在返回结果集时生成,宏观作用类似序号。在每次查询时,从开始给结果集编号。常与、连用。

在与、连用时,由于是在查询记录时逐个生成,并迭代。因此,若的判断在第1行记录时就不满足,则无法返回记录,即未迭代,始终为,最终结果集中无任何记录,与连用时同理。

注意:所有SQL语句的执行顺序都是:。

由于是伴随生成,故与连用时,会导致混乱。因此,通常是多层嵌套,先进行排序,再使用进行筛选。(见示例)

扩展:在Oracle中,常言的查询其实是在编号后,使用进行判断,从而获取前条记录的查询方法。(见示例)


讯享网

1:写法一

 
  
讯享网

前2层仅对结果集进行一次排序,不做筛选,在第3层时,才进行筛选。是的别名,由于属于第2层的结果集,非,故已固定,因此可以直接使用筛选出第名。

2:写法二

讯享网

在第2层时就进行结果集筛选,初始为,满足,则返回记录,同时迭代,如此反复直到条件不满足,这样就查询出前10条记录(工资最高的前10名员工)。此时固定,别名是,第3层可以直接使用筛选出第名。

补充说明:

两种写法在第1层时,都得到根据工资降序排序后的所有员工信息。

写法二较写法一,效率高很多。

参考笔记一,P23.18。

这两个伪列皆基于\(color{green}{序列}\),我暂未对序列的相关理论进行整理,大家可以查阅这篇博文《Oracle数据库序列》(转发)。

“序列”是一种按照一定规则自动增加或减少数字的数据库对象,主要用于主键(新增时填充主键)。创建示例:

 

是序列名;是递增值,默认值为;是初始值;表示不循环;表示进行缓存,缓存大小为。

是序列的下一个值,是序列的当前值。

使用位置:

  1. 子句中,不包括子查询的子句;
  2. insert 语句的子句或子句中;
  3. update 语句的子句中。

不能使用位置:

  1. 包含、、或的视图SQL语句的子句中;
  2. select、update、delete的子查询中;
  3. 包含的、语句中。

操作,

讯享网
 

必须先获取,才能使用。

掌握伪列,我建议:理解、自测。

本文持续更新中。。。


小讯
上一篇 2025-06-05 14:54
下一篇 2025-04-23 08:36

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/147615.html