`

[Oracle]高效的SQL语句之分析函数(二)--max()

阅读更多

如果我们按照示例想得到每个部门薪水值最高的雇员的纪录,可以有四种方法实现:
先创建示例表
create table emp
as
select * from scott.emp;
alter table emp
add constraint emp_pk
primary key(empno);
create table dept
as
select * from scott.dept;
alter table dept
add constraint dept_pk
primary key(deptno);
方法1.emp中的每一行都会进行max比较,费时
select * from emp emp1 where emp1.sal=(select max(emp2.sal) from emp emp2 where emp2.deptno=emp1.deptno)
方法2.先子查询查找出max sal,然后与emp表相关联,如果逻辑复杂会产生较多代码
   select * from emp emp1,(select deptno,max(sal) maxsal from emp emp2 group by emp2.deptno) emp3 where emp1.deptno=emp3.deptno and emp1.sal=emp3.maxsal
方法3.使用max分析函数
select deptno,maxsal,empno from(
 select max(sal) over (partition by deptno) maxsal,emp.* from emp) emp2
 where emp2.sal=emp2.maxsal
方法4.使用dense_rank分析函数,如果一个部门可能存在多笔最大薪水,就不能使用row_number()分析函数
select deptno,sal,empno from( 
 select emp.*,DENSE_RANK() over (partition by deptno order by sal desc) rownumber from emp) emp2
 where rownumber=1 
结果如下:
10    5000.00    7839
20    3000.00    7788
20    3000.00    7902
30    2850.00    ......

分享到:
评论

相关推荐

    ORACLE常用SQL语句大全.pdf

    Oracle 常用 SQL 语句大全 本文档总结了 Oracle 中常用的 SQL 语句,包括数据库的创建、删除、备份、表的创建、删除、修改、索引的创建、视图的创建等基本操作,以及一些高级查询运算符的使用。 一、数据库操作 ...

    oracle的SQL语句的一些经验总结

    Oracle SQL语句是数据库管理员和开发人员在处理Oracle数据库时不可或缺的工具。它允许用户查询、更新、插入和删除数据,以及执行各种复杂的数据库操作。以下是对"Oracle的SQL语句的一些经验总结"中可能涉及的关键...

    oracle常用sql语句大全 注释完整 放心使用

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它提供了丰富的SQL(结构化查询语言)支持,使得数据管理、查询、更新和分析变得高效且灵活。本资料集包含了Oracle数据库中常用SQL语句的大全,注释...

    oracle 查看当前会话执行的sql语句

    ### Oracle 查看当前会话执行的SQL语句 在Oracle数据库管理中,有时我们需要了解某个特定会话(Session)正在执行哪些SQL语句。这在性能调优、问题诊断等场景下尤为重要。以下将详细介绍如何通过不同的方法来查看...

    oracle的sql语句和语法

    本资料将重点介绍Oracle SQL语句和语法,适合初学者入门学习。 1. **SQL基础** - **SELECT语句**:用于从数据库中检索数据,是最常用的SQL语句。可以指定列名、表名、条件等,例如`SELECT column1, column2 FROM ...

    Oracle常用SQL语句复习

    本篇将基于"Oracle常用SQL语句复习"这一主题,深入探讨Oracle SQL的基本语法和常用操作,帮助读者巩固和提升Oracle数据库操作技能。 1. **数据查询基础** - `SELECT`语句是SQL中最基本的查询命令,用于从一个或多...

    oracle系列教程三+oracle复杂SQL语句.doc

    本文将深入探讨Oracle中的复杂SQL语句,包括查询优化、索引、函数的使用以及如何进行行列转换和去重操作。 首先,了解SQL语句的执行顺序至关重要。在一般的查询中,如`SELECT`、`FROM`、`WHERE`,执行顺序为:先...

    oracle 常用sql语句

    以上SQL语句涵盖了Oracle数据库中表空间管理、索引管理、数据文件、回滚段、控制文件、日志文件以及自由空间统计等多个方面的核心操作。熟练掌握这些语句对于Oracle数据库管理员和开发人员来说至关重要,能够帮助...

    Oracle经典SQL语句

    Oracle数据库是世界上最流行的数据库管理系统之一,其SQL语法在数据管理和分析中扮演着核心角色。"Oracle经典SQL语句"这个主题涵盖了SQL语言的基础以及一些高级特性,这些特性使得Oracle SQL在处理复杂的数据查询和...

    ORACLE-SQL语句学习教程解读.pdf

    Oracle SQL语句是数据库管理员和开发人员在Oracle数据库系统中进行数据操作的主要工具。本教程将深入探讨Oracle SQL的各种核心概念和技术,旨在帮助初学者和经验丰富的用户更好地理解和使用SQL语句。 首先,我们从...

    Oracle数据库常用sql语句的分类和常用函数.docx

    根据提供的文档信息,本文将详细解析Oracle数据库中的关键SQL语句分类、常用SQL语句以及Oracle函数的应用场景。此外,还将简要介绍Oracle数据库的一些基本管理命令,如启动与关闭服务、用户管理等。 ### 一、Oracle...

    Oracle常用sql语句整理.zip

    以下是一些Oracle数据库中常用的SQL语句及其详细解释。 1. **数据查询(SELECT)** - `SELECT column1, column2 FROM table_name;` 用于从表中选择特定列的数据。 - `WHERE condition;` 添加条件过滤结果,如 `...

    Oracle sql 语句集锦

    根据给定的文件信息,以下是对Oracle SQL语句集锦中的关键知识点的详细解析: ### Oracle SQL基础操作 #### 数据定义语言(DDL) - **创建表(Create Table)**: `CREATE TABLE`语句用于在数据库中创建一个新的表...

    oracle常用SQL语句下载

    Oracle SQL是用于管理和操作Oracle数据库的强大工具,它包含多种用于数据查询、操作、定义和控制的语句。本文将深入探讨Oracle SQL中的常见查询和计算功能。 首先,SQL(Structured Query Language,结构化查询语言...

    Oracle的sql语句练习题及参考答案

    在“Oracle的SQL语句练习题及参考答案”中,我们很可能会遇到各种与`SELECT`语句相关的练习,这是SQL中最基础且最重要的部分。 `SELECT`语句用于从数据库中检索数据,其基本语法结构如下: ```sql SELECT column1,...

    面试oracle必备的sql语句

    ### 面试Oracle必备的SQL语句知识点详解 #### 1. 查看表空间的名称及大小 在Oracle数据库管理中,了解每个表空间的大小对于资源管理和优化至关重要。以下SQL语句可以帮助我们获取各个表空间的名称及其总大小(以MB...

    Oracle分析函数实践 - blog.docx

    Oracle分析函数是数据库查询中非常强大的工具,它们用于处理复杂的报表和统计需求,特别是在在线分析处理(OLAP)环境中。分析函数与聚合函数的...在编写SQL时,合理运用分析函数,能够显著提升SQL语句的质量和性能。

    oracle sql语句学习

    Oracle SQL语句是数据库管理与数据查询的重要工具,尤其在大型企业级应用中,Oracle数据库系统因其稳定性、高效性及广泛的功能支持而被广泛应用。本资料包“Oracle SQL语句学习”旨在帮助初学者从基础入手,逐步掌握...

Global site tag (gtag.js) - Google Analytics