Java39: 数据库三(Oracle)
发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,Oracle 高级查询1 集合运算union 并集 把两张表合成一张表intersect 交集 一样的留下,不一样的不要minus 减去 前面的结果减去后面的结果create table emp3 a
千家信息网最后更新 2024年10月21日Java39: 数据库三(Oracle)
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;
函数
结果
小计
统计
查询
高级
分组
排序
一行
交集
只有
就是
效率
结构
语法
顺序
运算
数据
数据库
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
衡水精益管理软件开发
计算机网络技术专业成绩单
公安类专业包括网络安全与执法
我的世界服务器账号怎么填
为什么要使用独立服务器
专科生学的网络安全就业前景
兴化市伯言软件开发中心
网络安全可爱宣传语
数据库中条件约束m o
软件开发瀑布模型顺序
测量仪器软件开发
自学软件开发教材推荐
海德堡印刷机服务器加密狗
软件开发赔偿
4g网络技术iuv实训报告
服务器两张网卡
浪潮服务器远程管理dcm
上海海事大学校内数据库
无线网络安全类型wpa2
网络技术在智能城市应用
数据库结构的实现
服务器与终端域的划分
海南企业软件开发排名
服务器安全狗历史版本
防水材料伯才网络技术支持
数据库缓存怎么判断
灵族网络技术有限公司
苹果服务器挂了
数据库角色及权限
网络安全励志的话语