我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle中分析函数和集合运算的详解

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle中分析函数和集合运算的详解

Oracle中分析函数和集合运算的详解

一.分析函数

  1. RANK    相同的值排名相同,排名跳跃
  2. DENSE_RANK   相同的值排名相同,排名连续
  3. ROW_NUMBER   返回连续的排名,无论值是否相等

下图为三种排名方式的举例

--以下三个分析函数可以用于排名使用。

(1)RANK    相同的值排名相同,排名跳跃 (例如1,2,2,2,下一位就变5 是直接跳跃)
--需求:对T_ACCOUNT表的usenum字段进行排序,相同的值排名相同,排名跳跃
select rank() over(order by ac.usenum desc) ,ac.usenum from t_account ac;

 

 

--(2)DENSE_RANK   相同的值排名相同,排名连续(相同的同名,不同的顺序排下去 1,2,2,3,3,4)
--需求:对T_ACCOUNT表的usenum字段进行排序,相同的值排名相同,排名连续

select dense_rank() over(order by ac.usenum desc),ac.usenum from t_account ac;

 

 

--(3)ROW_NUMBER   返回连续的排名,无论值是否相等 (直接排序顺序,1,2,3,4,5)

--需求:对T_ACCOUNT表的usenum字段进行排序,返回连续的排名,无论值是否相等
select row_number() over(order by ac.usenum desc),ac.usenum from t_account ac;



--用row_number()分析函数实现的分页查询相对三层嵌套子查询要简单的多(了解):
select * from (
select row_number() over(order by ac.usenum desc)rownumber,ac.usenum  from t_account ac
)where rownumber>10 and rownumber<=20;


 

 

 

 

二. 集合运算

集合运算:将两个结果集合并成一个结果集

--(一)什么是集合运算 : 将两个结果集合并成一个结果集

  • --UNION ALL(并集):不去重   返回各个查询的所有记录,包括重复记录。
  • --UNION(并集):去重     返回各个查询的所有记录,不包括重复记录。
  • --INTERSECT(交集):获得公共部分,返回两个查询共有的记录。
  • --MINUS(差集);第一条减去公共部分,返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。
     

 

 

举例实用:


--准备数据
--1.查询id小于7
select * from t_owners ow where ow.id<=7;


--2 查询iD 大于5
select * from t_owners ow where ow.id >=5;


--1.并集 ,允许重复  UNION ALL
select * from t_owners ow where ow.id<=7
union all
select * from t_owners ow where ow.id >=5;


--2.并集,去重  union 
select * from t_owners ow where ow.id<=7
union 
select * from t_owners ow where ow.id >=5;





--3.交集 , 共同部分 intersect
select * from t_owners ow where ow.id<=7
intersect
select * from t_owners ow where ow.id >=5;





--4.差集 ,第一条减去共同部分
select * from t_owners ow where ow.id<=7
minus
select * from t_owners ow where ow.id >=5;

 

注意点:集合运算,允许查不同的表,只要这两张表的字段数量和字段类型一致就OK了(不要求字段名一致)

 

 

 

 

 

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle中分析函数和集合运算的详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Oracle中分析函数和集合运算的详解

一.分析函数 RANK    相同的值排名相同,排名跳跃 DENSE_RANK   相同的值排名相同,排名连续 ROW_NUMBER   返回连续的排名,无论值是否相等 下图为三种排名方式的举例 --以下三个分析函数可以用于排名使用。 (1)RAN
Oracle中分析函数和集合运算的详解
2019-10-21

如何分析python中集合set的函数

这篇文章的内容主要围绕如何分析python中集合set的函数进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!s={ x1,x2,x3.....};集合
2023-06-26

Oracle中的translate函数和replace函数的用法详解

在Oracle中,`TRANSLATE`和`REPLACE`函数都是用于替换字符串的函数,但它们有一些不同之处。1. `TRANSLATE`函数:`TRANSLATE`函数用于根据给定的字符映射替换字符串中的字符。它的语法如下:```sql
2023-08-16

C++ 函数调试详解:如何分析函数的输入和输出参数?

函数调试时,分析输入参数包括:类型匹配、范围、值和边值检查。输出参数分析包含:返回类型验证、指针有效性、引用有效性、值验证等。实战案例演示了如何测试输入和输出参数的有效性,帮助理解代码错误的定位和解决。C++ 函数调试详解:如何分析函数的输
C++ 函数调试详解:如何分析函数的输入和输出参数?
2024-05-03

Mysql中报错函数floor()函数和rand()函数的配合使用及原理详解

目录1. floor 函数1.1 floor 函数的作用2. rand() 函数2.1 rand() 函数的作用3. floor() 函数 配合 rand() 函数3.1 两个组合函数的使用4. 以 floor() 函数为主的报错注入4.1
2022-07-29

运算符的盛宴:探索Python中操纵和分析数据的工具

Python提供了丰富的运算符,用于操纵和分析数据,从基本算术到逻辑表达式和集合操作。本文深入探讨这些强大的工具,涵盖算术运算符、比较运算符、逻辑运算符、集合运算符和赋值运算符。
运算符的盛宴:探索Python中操纵和分析数据的工具
2024-03-09

运算符的奥秘:探索Python中操纵和分析数据的工具

在Python中,运算符作为操纵和分析数据的强大工具,使开发者能够高效地执行各种操作。从算术和逻辑到比较和赋值,运算符为Python程序提供了广泛的功能。
运算符的奥秘:探索Python中操纵和分析数据的工具
2024-03-09

运算符的魔力:探索Python中操纵和分析数据的工具

运用运算符的力量,探索Python中操纵和分析数据的强大工具,释放数据的价值,从而做出明智、数据驱动的决策。
运算符的魔力:探索Python中操纵和分析数据的工具
2024-03-09

php函数之strtr和str_replace的用法详解以及效率分析 原创

PHP中主要用strtr()和str_repalce()这两个函数替换字符串和数组,但你们都知道他们这两个函数的区别和用法吗?有不少文章在说使用strtr函数比str_replace快4倍,那为什么很多时候都在用str_replace,到底应该使用哪个函数呢
2022-11-13

Java中的集合框架概述:类和接口详解与数据操作指南

Java中的集合框架是程序员在日常编程中不可或缺的工具之一。它提供了一套灵活、高效的数据结构和算法,用于存储、检索和操作数据
Java中的集合框架概述:类和接口详解与数据操作指南
2024-01-26

编程热搜

目录