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;

  • 相关阅读:
    【结对开发】电梯调度 一(从电梯布局分配考虑)需求分析及设计思路。
    【结对开发】求一个整数数组的所有子数组中和的最大值。
    【测试用例选取及异常处理】 之 求一个数组中的最大整数。
    互测测评报告
    绩效考核
    冲刺5
    写个烂android一天到晚活累死,
    冲刺3
    冲刺2
    冲刺1
  • 原文地址:https://www.cnblogs.com/imdaizy/p/4503380.html
Copyright © 2011-2022 走看看