zoukankan      html  css  js  c++  java
  • mysql基础-进阶三【排序查询】

    基础语句-进阶3【排序查询】
    • 语法

      • select 查询列表 from 表名 where 筛选条件 order by 排序列表
        ​
        执行顺序
        1. from子句
        2. where子句
        3. select子句
        4. order by子句
    • 特点

      • 排序列表可以是单个字段、多个字段、表达式、函数、列表、以及以上的组合

        • # 升序,通过asc,默认行为
          # 1, 将员工编号>120 的员工信息,并进行工资的升序排列
          SELECT * FROM employees WHERE employee_id > 120 ORDER BY salary ASC;
        • # 降序,通过desc 
          # 2, 将员工编号>120 的员工信息,并进行工资的降序排列
          SELECT * FROM employees WHERE employee_id > 120 ORDER BY salary desc;
           
      • 按表达式排序

        • #1, 对有奖金的员工,按年薪降序排列
          SELECT *, (salary*12*(1+commission_pct)) AS 年薪
          FROM employees WHERE commission_pct IS NOT NULL ORDER BY (salary*12*(1+commission_pct)) DESC;
          ​
          ​
          #2, 上面案例优化
          SELECT *, (salary*12*(1+IFNULL(commission_pct,0))) AS annual_salary
          FROM employees WHERE commission_pct IS NOT NULL ORDER BY annual_salary DESC;
      • 按函数的结果排序

        • #1, 按姓名的字数长度进行升序
          ​
          #案例3:按姓名的字数长度升序排列
          SELECT LENGTH(last_name) AS len,last_name FROM employees ORDER BY len ASC;
     
  • 相关阅读:
    checkbox判断选中的三种方法
    bzoj 4031: [HEOI2015]小Z的房间
    bzoj 5056: OI游戏
    Hdoj 5181 numbers
    Loj #6164. 「美团 CodeM 初赛 Round A」数列互质
    Codeforces 869 C The Intriguing Obsession
    Loj #6142. 「2017 山东三轮集训 Day6」A
    bzoj 3714: [PA2014]Kuglarz
    Loj #6185. 烷基计数
    [HNOI2008]水平可见直线
  • 原文地址:https://www.cnblogs.com/lich1x/p/13926500.html
Copyright © 2011-2022 走看看