oracle中关键字的使用

关键字  distinct
      查询数据时去掉那些重复的记录

      例子:select distinct job from emp;

 % 和 _ 的使用    %  :代表任意个字符   _ : 代表 单个字符

 查询第三个字符为大写O的名字和工资
 select ename,sal from emp where ename like '_ _ O%';


 关键字 in的使用


 查询empno 为  123 234 345
 select ename empno from emp where empno in(123,234,345);

 
 使用order by  

 select empno from emp order by empno desc ; 查询 empno 字段进行降序排列

 两个字段的排序 deptno   sal
 
 select * from emp order by deptno asc, sal desc;
 



 按年薪排序 学会nvl函数 是对null值  假如某个字段是null值

 select (sal*12+12*nvl(COMM,0)) "年薪" from emp order by "年薪" desc;


----------------------------------------------------------------------------------------
 数据分组函数 (max , min , avg, count)

表的复杂查询
  select ename sal from emp where sal = (select max(sal) from emp);

  注意 : 如果 在select 后面的字段出现了 分组函数 就不能使用单独的字段 只能使用分组函数

 


 group by 的使用
 
  对查询的结果进行分组统计
  意思就是说 : 把查询到的结果 相同的数据放到一组;
 
  查询emp 表的 job(工作岗位)
   
  执行语句:select job,count(job)from emp group by job;

  结果 :

   JOB       COUNT(JOB)
------------------------------------------------------
   CLERK              4
   SALESMAN           4
   PRESIDENT          1
   MANAGER            3
   ANALYST            2

 
查询每个部门的最高工资和 最低工资
select avg(sal), max(sal) ,count(sal) ,deptno from emp group by deptno;


select deptno, job from emp group by deptno ,job


having  用于限制分组结果的显示
 
   select avg(sal), max(sal) eptno  from emp group by deptno  having max(sal)>= 3000 ;



 group by  +  having  + order by  出现的顺序  只能是这样

select avg(sal), max(sal) eptno  from emp group by deptno  having max(sal)>= 3000 order by EPTNO desc  ;




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值