当前位置:网站首页 > Haskell函数式编程 > 正文

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



【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://developer.aliyun.com/article/
出自【进步*于辰的博客】

参考笔记一,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. 包含的、语句中。

操作,

 
 

必须先获取,才能使用。

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

本文持续更新中。。。

到此这篇pivot函数oracle用法(oracle value函数)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • sigmoid 函数(sigmoid函数)2025-01-13 19:09:10
  • sigmoid激活函数求导(sine激活函数)2025-01-13 19:09:10
  • ip地址计算公式(ip地址计算公式怎么算)2025-01-13 19:09:10
  • prjab公式(prd算法公式)2025-01-13 19:09:10
  • mysql窗口函数用法(mysql8.0 窗口函数)2025-01-13 19:09:10
  • py格式用什么软件打开(pyc文件用什么软件打开)2025-01-13 19:09:10
  • 电路物理知识点总结(物理电路知识点公式)2025-01-13 19:09:10
  • 多级列表的编号样式(多级列表的编号样式不能修改A对B错)2025-01-13 19:09:10
  • 转换字符串编码(编码实现字符串转整型的函数)2025-01-13 19:09:10
  • sigmoid函数求导表达式(sigmoid函数导数)2025-01-13 19:09:10
  • 全屏图片