Oracle查询语句 select * from scott.emp ; 1.–dense_rank()分析函数(查找每个部门工资最高前三名员工信息) select * from (select deptno,ename,sal,dense_rank() over(partition by deptno order by sal desc) a from scott.emp) where a<=3 order by deptno asc,sal desc ; 结果: –rank()分析函数(运行结果与上语句相同) select * from (select deptno,ename,sal Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL查询语法以支持复杂的数据操作。以下是一些在Oracle中常用的SQL查询语句,特别是涉及到分析函数的部分,这些函数在处理大量数据时非常有用。 1. `DENSE_RANK()` 分析函数: 这个函数用于为每个分组(`PARTITION BY` 子句中的列)中的行分配一个唯一的排名,当有相同的值时,不会跳过排名。在给定的例子中,它被用来找到每个部门工资最高的前三名员工。`DENSE_RANK()` 针对`sal`字段按降序排列,然后通过`WHERE a <= 3`筛选出排名在前三的员工。 2. `RANK()` 分析函数: 类似于`DENSE_RANK()`,但当有相同的值时,`RANK()`会跳过排名,导致连续的排名之间出现空缺。在示例中,它也用于找出每个部门的前三高工资,结果与`DENSE_RANK()`相同,因为`sal`字段没有重复值。 3. `ROW_NUMBER()` 分析函数: 这个函数为每个分组内的行分配一个唯一的数字,无论值是否相同。在这个例子中,它同样用于获取每个部门的前三名高薪员工,结果与前两个函数相同。 4. `SUM()` 分析函数结合`ROWS UNBOUNDED PRECEDING`: 此用法用于计算从分组开始到当前行的所有行的累计总和。例如,可以查看每个部门的累积工资总和。 5. `SUM()` 分析函数结合`ROWS 数值 PRECEDING`: 这个组合用于计算前N行的总和。在示例中,每4条记录的汇总值被展示出来。 6. `SUM()` 分析函数结合`ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING`: 这个用法统计包括当前行在内的前后各一条记录的汇总值,即计算一个3条记录的窗口内的总和。 7. `RATIO_TO_REPORT()` 分析函数: 它返回一个数相对于其分区内所有数的比例。在给出的例子中,展示了每个员工工资占所在部门总工资的比例。 8. 用户和权限查询: `DBA_USERS`, `ALL_USERS`, `USER_USERS`, `DBA_ROLES`, `DBA_SYS_PRIVS`, `DBA_TAB_PRIVS`, `ALL_TAB_PRIVS`, `USER_TAB_PRIVS`, `DBA_ROLE_PRIVS`, 和 `USER_ROLE_PRIVS` 这些视图用于查看和管理数据库用户的权限和角色。 9. `ROWNUM` 伪列: 在查询中使用`ROWNUM`可以限制返回的行数,例如,选取特定范围的记录。在示例中,它用于获取`scott.emp`表的第10到12条记录。 10. `NOT EXISTS` 子句: 这个子句用于查找那些在另一个查询结果中不存在的记录。在示例中,它用于找出`scott.emp`表中没有对应部门的员工。 11. `ROWID`: `ROWID`是Oracle中的一个特殊列,它唯一标识表中的每一行。可以用来定位和删除重复数据,或者进行高效的数据检索。 12. 分页查询: 利用`ROWID`进行分页查询,可以提高性能,尤其是在处理大量数据时。 这些只是Oracle SQL查询的一部分,实际中还有许多其他功能强大的函数和操作,如聚合函数、连接操作、子查询、游标、触发器、存储过程等,它们都是数据库管理员和开发人员在日常工作中不可或缺的工具。
剩余27页未读,继续阅读
- 粉丝: 6
- 资源: 914
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于SimPy和贝叶斯优化的流程仿真系统.zip
- (源码)基于Java Web的个人信息管理系统.zip
- (源码)基于C++和OTL4的PostgreSQL数据库连接系统.zip
- (源码)基于ESP32和AWS IoT Core的室内温湿度监测系统.zip
- (源码)基于Arduino的I2C协议交通灯模拟系统.zip
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip
- (源码)基于Android的饭店点菜系统.zip
- (源码)基于Android平台的权限管理系统.zip
- (源码)基于CC++和wxWidgets框架的LEGO模型火车控制系统.zip