我是靠谱客的博主 从容荷花,最近开发中收集的这篇文章主要介绍oracle的单行函数和聚合函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

–使用集合函数
– Union,并集(去重) 对两个结果集进行并集操作,不包括重复行同时进行默认规则的排序;
– Union All,全集(不去重) 对两个结果集进行并集操作,包括重复行,不进行排序 ;
– Intersect,交集(找出重复) 对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
–Minus,差集(减去重复) 对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序

select * from emp where deptno = 30
Union
select * from emp where sal > 2000;
select * from emp where deptno = 30
Union All
select * from emp where sal > 2000;

–查询不存在员工的部门的部门编号

select deptno from dept
Minus
select distinct deptno from emp;

–like 模糊匹配 %任意个任意字符 _一个任意字符

select * from emp where ename like 'SMITH';  --精确匹配

–查询公司中员工姓名 以A开头的员工信息

select * from emp where ename like 'A%';

–查询公司中员工姓名 第二个字符为A的员工信息

select * from emp where ename like '_A%';

–查询公司中员工姓名 中存在%的员工 escape(‘a’); 转义字符

select * from emp where ename like '%%%' escape('');

–事务的提交和回滚(重要)
commit;
rollback;

–函数
–内置函数和自定义函数
–单行函数 : 一条记录返回一个结果的
–多行函数|组函数|聚合函数 : 多条记录返回一条结果的

– 当前时间

select distinct sysdate from emp;
select sysdate from dual;
select current_date from dual;

– in (值1,值2,值3…) 当对一个字段的多个值进行等值匹配,可以使用in
– 查询工资为i 1500, 2000, 2500, 5000的员工的信息

select * from emp where sal=1500 or sal=2000 or sal=2500 or sal=5000;
select * from emp where sal in (1500 ,2000 ,2500 ,5000);

–子查询
把一个查询作为另一个查询的条件

select *
  from emp
 where deptno in
       (select deptno from dept where dname in ('SALES', 'ACCOUNTING'));

–exists(结果集) 存在既保留,存在即合法
–select 数据 from 数据来源 where exists(结果集)
–从from中拿出一条数据 去where 中进行判断 ,如果exists(结果集)中有值,当前这一条就保留|满足条件,如果exists(结果集)中没有值,当前这一条就不保留
–结果:查询出所有的结果

select *
  from emp
 where exists
 (select deptno from dept where dname in ('SALES', 'ACCOUNTING'));

–结果:空的

select * from emp where exists (select * from emp where deptno = 40);

–排序: 先确定结果集然后对于结果集中的数据进行排序
–select 数据 from 数据来源 where 条件 order by 排序字段1,排序字段…; desc 降序 asc升序(默认)

-- from where select order by
select * from emp where deptno = 30 order by sal desc,empno asc;
select * from emp where deptno = 30 order by comm nulls first;  --所有的nulls值最先first|最后显示last

–组函数|聚合函数|多行函数 : 对结果集进行组函数计算
–多行记录返回一个结果
–count(条件) sum(条件) max() min() avg()
–注意: 组函数不能和非分组字段一起使用

-- 统计一下一共有多少个员工
select count(empno) from emp;
select count(deptno) from emp;
select count(*) from emp;
select count(1) from emp;  --伪列  相当于为每条数据的后面添加一个伪列字段 1

– 计算本公司每个月一共要在工资上花费多少钱(求和sum())

select sum(sal) from emp;

– 查询本公司的最高工资(max())和最低工资(min())

select max(sal) from emp;
select min(sal) from emp;

– avg 平均工资
select avg(sal) from emp;

最后

以上就是从容荷花为你收集整理的oracle的单行函数和聚合函数的全部内容,希望文章能够帮你解决oracle的单行函数和聚合函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部