6-3 Oracle 表的管理-表复杂查询

简介: 学习了解6-3 Oracle 表的管理-表复杂查询。

 

文章目录


6 Oracle 表的管理

6.5 oracle表的管理 -表查询(重点)

6.5.2 Oracle表复杂查询

·说明

·数据分组-max,min,avg,sum,count

·扩展要求

·group by和having字句

·对数据分组的总结


6 Oracle 表的管理


6.5 oracle表的管理 -表查询(重点)

6.5.2 Oracle表复杂查询

·说明


在实际应用中经常需要执行复杂的数据统计,经常需要显示多张表的数据,现在我们给大家介绍较为复杂的select语句


·数据分组-max,min,avg,sum,count


如何显示所有员工中最高工资和最低工资

select max(sal) "最高工资",min(sal)"最  高工资" from emp;

显示最高工资以及员工名

select ename,sal from emp where sal=  (select max(sal) from emp);

显示所有员工的平均工资和工资总和

select avg(sal) "平均工资",sum(sal)"工资  总和" from emp;

计算共有多少员工

select count(*) from emp;

·扩展要求


请显示工资最高的员工的名字,工作岗位

select ename,sal,job from emp where  sal=(select max(sal) from emp);

请显示工资高于平均工资的员工信息

select * from emp where sal>(select  avg(sal) from emp);

给那些1987年7月19之前入职并且工资小于平均工资的员工工资上浮百分之八十

select * from emp where sal>(select  avg(sal) from emp);
1


·group by和having字句


group by用于对查询的结果分组统计,


having字句用于限制分组显示结果。


如何显示每个部门的平均工资和最高工资

select avg(sal),max(sal),deptno from  emp group by deptno;

显示每个部门的每种岗位的平均工资和最低 工资

select avg(sal),max(sal),deptno,job  from emp group by deptno,job order by  deptno desc;

显示平均工资低于2000的部门号和它的平均 工资

select avg(sal),deptno from emp group   by deptno having avg(sal)<2000 order   by avg(sal);

·对数据分组的总结


1.分组函数只能出现在选择列表、having、order by字句中;


2.如果在select语句中同时包含有group by、having、order by那么他们的顺序是 group by,having,order by


3.在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须有一个出现在 group by字句中,否则就会出错


如:

select deptno,avg(sal),max(sal) from emp group by deptno having avg(sal)<2000 ;



目录
相关文章
|
8月前
|
Oracle 关系型数据库 Linux
【YashanDB 知识库】通过 dblink 查询 Oracle 数据时报 YAS-07301 异常
客户在使用 YashanDB 通过 yasql 查询 Oracle 数据时,遇到 `YAS-07301 external module timeout` 异常,导致 dblink 功能无法正常使用,影响所有 YashanDB 版本。原因是操作系统资源紧张,无法 fork 新子进程。解决方法包括释放内存、停掉不必要的进程或增大进程数上限。分析发现异常源于 system() 函数调用失败,返回 -1,通常是因为 fork() 失败。未来 YashanDB 将优化日志信息以更好地诊断类似问题。
|
7月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的闪回版本查询
本文介绍了Oracle数据库的闪回版本查询(Flashback Version Query)功能,通过示例详细讲解了其使用方法。闪回版本查询可获取指定时间区间内行的不同版本,利用`versions between`子句实现。文中包含视频讲解,并通过创建测试表、插入数据及执行查询等步骤,演示如何获取历史版本信息和伪列详情,帮助用户深入了解该功能的实际应用。
130 13
|
6月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回事务查询
Oracle数据库的闪回事务查询(Flashback Transaction Query)是闪回版本查询的扩充,可用于审计或撤销已提交的事务。通过`flashback_transaction_query`视图,可生成还原特定事务的SQL语句。本文介绍了其基本概念,并通过实战演示如何使用该功能:从授权、开启UNDO数据增强,到创建测试表和事务,最后利用闪回查询撤销已提交的事务,验证数据恢复效果。附带视频讲解,帮助深入理解。
140 3
|
7月前
|
Oracle 关系型数据库 Linux
【YashanDB知识库】通过dblink查询Oracle数据时报YAS-07301异常
【YashanDB知识库】通过dblink查询Oracle数据时报YAS-07301异常
|
7月前
|
Oracle 关系型数据库 MySQL
【YashanDB知识库】oracle dblink varchar类型查询报错记录
这篇文章主要介绍了 Oracle DBLINK 查询崖山 DB 报错的相关内容,包括 ODBC 安装配置、数据源配置、dblink 环境配置、问题原因分析及规避方法。问题原因是 dblink 连接其他数据库时 varchar 类型转换导致的,还介绍了 long 类型限制、char 等类型区别,规避方法是修改参数 MAX_STRING_SIZE 支持 32K。
|
8月前
|
Oracle 关系型数据库 Linux
【YashanDB 知识库】通过 dblink 查询 Oracle 数据时报 YAS-07301 异常
某客户在使用 YashanDB 通过 yasql 查询 Oracle 数据时,遇到 `YAS-07301 external module timeout` 异常,导致 dblink 功能无法正常使用,影响所有版本。问题源于操作系统资源紧张,无法 fork 新子进程。解决方法包括释放内存、停掉不必要的进程或增大进程数上限。分析发现异常原因为系统调用 fork() 失败。经验总结:优化日志记录,提供更多异常信息。
|
9月前
|
Oracle 关系型数据库 数据库
【YashanDB知识库】oracle dblink varchar类型查询报错记录
在使用Oracle DBLink查询VARCHAR类型数据时,可能会遇到多种报错。通过了解常见错误原因,采取合适的解决方法,可以有效避免和处理这些错误。希望本文提供的分析和示例能帮助你在实际工作中更好地处理DBLink查询问题。
227 10
|
9月前
|
SQL Oracle 关系型数据库
如何在 Oracle 中配置和使用 SQL Profiles 来优化查询性能?
在 Oracle 数据库中,SQL Profiles 是优化查询性能的工具,通过提供额外统计信息帮助生成更有效的执行计划。配置和使用步骤包括:1. 启用自动 SQL 调优;2. 手动创建 SQL Profile,涉及收集、执行调优任务、查看报告及应用建议;3. 验证效果;4. 使用 `DBA_SQL_PROFILES` 视图管理 Profile。
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版产品使用合集之oracle cdc 抽取新增一张表 可以从savepoint恢复吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
121 0
|
SQL Oracle 关系型数据库
关系型数据库Oracle并行查询
【7月更文挑战第12天】
359 15

推荐镜像

更多