zoukankan      html  css  js  c++  java
  • oracle笔记

    1.获取唯一记录:distinct

    select distinct e.employee_name,s.salary
    from employees e,salary s
    where e.employee_id=s.salary;
     
    2.分组:group by 
    select  e.employee_id, e.employee_name, sum(s.salary) total_salary
    from employees e, salary s
    where e.employee_id=s.employee_id
    group by e.employee_id,e.employee_name;
     
    3.过滤分组:having 
    where 子句可以过滤from 子句所指定的数据源,但是对于group by 子句所产生的分组无效。为了半分组按一定条件进行过滤。having 子句是依附于group by 子句存在而存在的。
    select  e.employee_id, e.employee_name, sum(s.salary) total_salary
    from employees e, salary s
    where e.employee_id=s.employee_id
    group by e.employee_id,e.employee_name;
    having (sum(s.salary)) > 10000;
     
    4.排序:order by (asc 同时也是默认排序方式,降序 desc)
    select distinct e.employee_name, s.salary
    from employees e, salary s
    where e.employee_id=s.employee_id
    order by s.salary desc;
     
    5.order by 与 group by
    select e.employee_name, sum(s.salary) total_salary
    from employees e, salary s
    where e.employee_id=s.employee_id
    group by e.employee_id,e.employee_name
    order by total_salary desc;
    注:order by 后面不能接除 e.employee_name, total_salary之外的列进行排序。
     
    6.order by 与 distinct
    order by 与 distinct 关键字同时使用时,也必须遵循一个规则:order by 子句所指定的排序列,必须出现在
    select 表达式中。
    select e.employee_name
    from employees e,salary s
    where e.employee_id=s.employee_id
    order by s.salary;-------成功
    但:
    select distinct e.employee_name
    from employee e,salary s
    where e.employee_id=s.employee_id
    order by s.salary;-------失败
  • 相关阅读:
    (转) Nova是如何统计OpenStack资源
    (转) 一次批量重启引发的Neutron网络故障
    (转)理解Keystone的四种Token
    neutron 虚拟机网络问题调试
    转 Nova: 虚机的块设备总结 [Nova Instance Block Device]
    kvm 客户机系统的代码是如何运行的
    12 while循环
    11猜拳游戏
    10 if 嵌套
    09 if...elif..else语句
  • 原文地址:https://www.cnblogs.com/redhat-oracle/p/7283149.html
Copyright © 2011-2022 走看看