zoukankan      html  css  js  c++  java
  • oracle表查询

      1、简单查询

        (1)查看表结构    desc  emp;

        (2)查询所有列           select * from dept;

        (3)查询指定列    select ename , sal , job, from emp;

            取消重复行    select distinct deptno, job from emp;

        (4)使用算术表达式  nvl和null

           (a)nvl(comm, 0)----如果该员工comm列中为空的,则以0计算;如果comm(奖金)不是空的,则以comm计算

               例如,公司员工的总薪水有工资和奖金,但其中有些人没奖金

               select sal*13+nvl(comm,0)*13"年薪",ename,comm from emp;

                        (b)null

               显示没有上级的员工的情况?

               错误写法:select * from emp where mgr=‘’;

               正确写法:select * from emp where mgr is null;

        (5)使用逻辑操作符号  order by和desc(按降序排列)

            按工资从低到高的顺序显示员工的信息

            select * from emp order by sal;

      2、oracle表复杂查询

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

            (a)如果列里面有一个分组函数,其他的都必须是分组函数,否则出错

                例如,显示最高工资的员工信息

                错误写法:select ename, sal from emp where sal=mal(sal);

                    正确写法:select ename, sal from emp where sal=(select max(sal) from emp);

            (b)group by 和 having

              分组查询的话,分组的字段deptno一定要出现在查询的列表中

              显示平均工资低于2000的部门号,最高工资及平均工资

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

  • 相关阅读:
    Tomcat自动部署
    java环境配置
    django-crispy-forms入门指南
    hibernate级联删除
    bzoj1659: [Usaco2006 Mar]Lights Out 关灯
    bzoj1658: [Usaco2006 Mar]Water Slides 滑水
    bzoj5470 / P4578 [FJOI2018]所罗门王的宝藏(差分约束)
    P2864 [USACO06JAN]树林The Grove
    bzoj1651 / P2859 [USACO06FEB]摊位预订Stall Reservations
    bzoj1647 / P1985 [USACO07OPEN]翻转棋
  • 原文地址:https://www.cnblogs.com/imdaizy/p/4503380.html
Copyright © 2011-2022 走看看