iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Java39: 数据库三(Oracle)
  • 588
分享到

Java39: 数据库三(Oracle)

2024-04-02 19:04:59 588人浏览 八月长安
摘要

oracle 高级查询1 集合运算    uNIOn 并集 把两张表合成一张表    intersect 交集 一样

oracle 高级查询

1 集合运算

    uNIOn 并集 把两张表合成一张表

    intersect 交集 一样的留下,不一样的不要

    minus 减去 前面的结果减去后面的结果

create table emp3 as 
select * from emp2 where deptno=20;
create table emp4 as 
select * from emp2 where deptno=30;

alter table emp3 rename to emp20;
alter table emp4 rename to emp30;

select * from emp20;
select * from emp30;

select * from emp20 union select * from emp30;

select * from emp30 intersect select * from emp2;

select * from emp2 minus select * from emp30;


2 connect by 和start with

依托于该语法,我们可以将一个表形结构的以树的顺序列出来

提供一个伪列 level

level

找到头
select ename from emp2 where mgr is null;
select empno,ename,mgr from emp start with ename='KING' connect by prior empno=mgr;

select level,empno,ename,mgr from emp start with ename=(select ename from emp2 where mgr is null) connect by prior empno=mgr;


select * from (select level lv,empno,ename,mgr from emp start with ename=(select ename from emp2 where mgr is null) connect by prior empno=mgr) where lv=2;


3高级分组函数


rollup 函数 小计

rollup 函数多一行 小计

对于分组的列为null

对于聚集函数为求 小计

select job,sum(sal) from emp GROUP BY rollup(job);

select job,sum(sal),round(avg(sal)),max(sal),count(empno)from emp group by rollup(job);

统计rollup(x,y) 统计第一个x 不统计y

select dname,job,sum(sal) from emp inner join dept using(deptno) group by rollup(dname,job);

cube 统计所有的列

select dname,job,sum(sal) from emp inner join dept using(deptno) froup by cube(dname,job) order by dname;

rollup 和cube 就是汇总的结果



grouping 和grouping sets 

select grouping(dname),dname ,grouping(job),job,sum(sal) from emp inner join dept using(deptno) group by rollup(dname,job) order by dname;
select * from (select grouping(dname),dname ,grouping(job) N,job,sum(sal) from emp inner join dept using(deptno) group by rollup(dname,job) order by dname) where dname='SALES' and N=1 ;
select grouping(dname),dname,grouping(job),job,sum(sal) from emp inner join dept using(deptno) group by cube(dname,job) order by dname;


只查询汇总的行 总的汇总也不要

select dname,job,sum(sal) from emp inner join dept using(deptno) group by grouping sets(dname,job);

如果需要查询的结果只有小计 可以用cube 和 grouping sets 用grouping sets 的效率高于cube 和rollup


排名函数

    既能排序又能排名

rank() over( orader by xx)

重复就会削去下一个编号

select rank() over(order by sal desc),ename,sal from emp;

dense_rank() over(orader by xx)

重复不削去编号

select dense_rank() over(order by sal desc),ename,sal from emp;


先排序在rownum  比rownum 简单

select row_number() over(order by sal desc),ename from emp;









您可能感兴趣的文档:

--结束END--

本文标题: Java39: 数据库三(Oracle)

本文链接: https://www.lsjlt.com/news/38690.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Oracle数据库分页的三种方法
    使用ROWNUM函数进行分页:ROWNUM是Oracle数据库中的一个伪列,它表示当前行的行号。结合ROWNUM可以轻松实现分页...
    99+
    2024-04-09
    oracle
  • 三种方法快速恢复误删oracle数据库
    1. 使用闪回技术恢复:Oracle数据库提供了闪回技术,可以在一定时间范围内恢复被误删除的数据。使用闪回技术可以快速恢复误删的数据...
    99+
    2023-08-30
    oracle
  • oracle数据库
    用户(user)是定义在数据库中的一个名称,访问数据库时,要提供合适的用户名和口令。模式(Schema)是用户所拥有对象的集合。用户与模式是一一对应的关系,并且二者名称相同。在Oracle 数据库中建立用户...
    99+
    2024-04-02
  • Oracle 数据库 组件相关说明【第三部分】
    11、JServer JAVA Virtual Machine JVM是Java技术的基石,它负责实现Java的硬件和操作系统的独立性,保护用户机器不被恶意代码侵害,同时使Java的编译代码足够小。 编译出...
    99+
    2024-04-02
  • Python操作MySQL MongoDB Oracle三大数据库深入对比
    目录1. Python操作Oracle数据库2. Python操作MySQL数据库3. Python操作MongoDB数据库作为数据分析师,掌握一门数据库语言,是很有必要的。 今天黄...
    99+
    2024-04-02
  • dotConnect for Oracle入门指南(三):创建数据库对象
    【下载dotConnect for Oracle最新版本】dotConnect for Oracle(原名OraDirect.NET)建立在ADO.NET技术上,为基于Oracle数据库的应用程序提供完整的...
    99+
    2024-04-02
  • MySQL、SqlServer、Oracle 三种数据库的优缺点是什么
    本篇文章给大家分享的是有关MySQL、SqlServer、Oracle 三种数据库的优缺点是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。...
    99+
    2024-04-02
  • 数据库的三大范式
    1.为什么需要数据库设计2.范式(Normal Formal)2.1范式概述2.2键和相关属性的概念2.3第一范式(1NF)2.4第二范式(2NF)2.5第三范式(3NF)2.6范式的优缺点 3.反范式化3.1概述3.2 反...
    99+
    2023-08-16
    数据库 设计规范 mysql
  • Oracle数据库分页的集中方法(三种方法)
    在 做项目中用到了分页,下面说一下oracle分页的方法; 采用伪列 rownum     查询前10条记录 [sql] select * from t_...
    99+
    2024-04-02
  • sqlserver、Mysql、Oracle三种数据库的优缺点是什么
    本篇文章给大家分享的是有关sqlserver、Mysql、Oracle三种数据库的优缺点是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一...
    99+
    2024-04-02
  • SqlServer 数据库 三大范式
    1 概述 一般地,在进行数据库设计时,应遵循三大原则,也就是我们通常说的三大范式,即第一范式要求确保表中每列的原子性,也就是不可拆分;第二范式要求确保表中每列与主键相关,而不能只与主键的某部分相关(主要针对...
    99+
    2024-04-02
  • oracle数据库如何备份数据库
    oracle 提供多种备份方法来保护数据库完整性,包括全备份、增量备份、差异备份和归档日志备份。最佳备份类型取决于数据库大小、恢复目标和可用资源。rman(恢复管理器)是 oracle ...
    99+
    2024-04-19
    oracle 数据丢失
  • oracle、mysql和SqlServer三种数据库的分页查询实例
    这篇文章主要介绍“oracle、mysql和SqlServer三种数据库的分页查询实例”,在日常操作中,相信很多人在oracle、mysql和SqlServer三种数据库的分页查询实例问题上存在疑惑,小编查...
    99+
    2024-04-02
  • SQL Server、Mysql、Oracle三种数据库的优缺点是什么
    SQL Server、Mysql、Oracle三种数据库的优缺点是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、SQL Server优...
    99+
    2024-04-02
  • ORACLE数据库应用开发的三十个注意事项
    目录引言禁忌1:触发器代码忌复杂禁忌2:忌使用dblink禁忌3:忌用大表关联统计禁忌4:忌用字典式字段索引禁忌5:慎用主键约束禁忌6:慎用外键关联禁忌7:组合索引使用要注意禁忌8:...
    99+
    2024-04-02
  • 数据库模型有哪三种
    这篇文章将为大家详细讲解有关数据库模型有哪三种,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是数据库?简单的说,数据库(英文Database)就是一个存放数据的仓库,...
    99+
    2024-04-02
  • 数据库MySQL简单操作(三)
    1.3 多表查询1.3.1连接查询:#内连接:自连接查询:#外连接左外连接(可以查询出表名1的所有记录,而表名2中只能查出匹配的记录)SELECT 属性名列表 FROM 表名1 LEFT JOIN ...
    99+
    2024-04-02
  • MySQL数据库知识汇总(三)
    ...
    99+
    2024-04-02
  • 什么是数据库三范式
    这篇文章主要讲解了“什么是数据库三范式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是数据库三范式”吧!书上讲了好多, 归结起来3句话: 1NF:字段不...
    99+
    2024-04-02
  • 三战MySQL数据库【终极篇】
    MYSQL入门系列——第三篇 每篇前言:0.准备工作:1.表结构修改:(关键字alter)2.约束条件:(1)默认约束(default):(2)非空约束(not null):(3)唯一约束(u...
    99+
    2023-09-03
    mysql 六大约束条件 三大表关系 视图和索引 mysql正则
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作