zoukankan      html  css  js  c++  java
  • MySQL_Sql_打怪升级_进阶篇_进阶3:排序查询

    进阶3:排序查询

    语法:

    select 
      查询列表 
    from
      表名 
    where 筛选条件 
    order by 排序的字段或表达式 ;
    

    特点:

    1. asc    代表的是升序,可以省略 ,默认是升序排序
       desc   代表的是降序
    2. order by 子句可以支持 单个字段、别名、表达式、函数、多个字段
    3. order by 子句在查询语句的最后面,除了limit子句
    

    3.1查询员工信息,要求工资从高到低排序

    SELECT * FROM employees ORDER BY salary DESC;
    

    3.2添加筛选条件再排序

    案例:查询部门编号>=90的员工信息,并按员工编号降序

    SELECT *
    FROM employees
    WHERE department_id>=90
    ORDER BY employee_id DESC;
    

    3.3按表达式排序

    案例:查询员工信息 按年薪降序

    SELECT *,salary*12*(1+IFNULL(commission_pct,0))
    FROM employees
    ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;
    

    3.4按别名排序

    案例:查询员工信息 按年薪升序

    SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪
    FROM employees
    ORDER BY 年薪 ASC;
    

    3.5按函数排序

    案例:查询员工名,并且按名字的长度降序 [函数length]

    SELECT LENGTH(last_name),last_name 
    FROM employees
    ORDER BY LENGTH(last_name) DESC;
    

    3.6按多个字段排序

    案例:查询员工信息,要求先按工资降序,再按employee_id升序

    SELECT *
    FROM employees
    ORDER BY salary DESC,employee_id ASC;
    

    3.7排序查询习题

    #1.查询员工的姓名和部门号和年薪,按年薪降序 按姓名升序
    SELECT last_name,department_id,salary*12*(1+IFNULL(commission_pct,0)) 年薪
    FROM employees
    ORDER BY 年薪 DESC,last_name ASC;
    
    #2.选择工资不在8000到17000的员工的姓名和工资,按工资降序
    SELECT last_name,salary
    FROM employees
    WHERE salary NOT BETWEEN 8000 AND 17000
    ORDER BY salary DESC;
    
    #3.查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序
    SELECT *,LENGTH(email)
    FROM employees
    WHERE email LIKE '%e%'
    ORDER BY LENGTH(email) DESC,department_id ASC;
    
  • 相关阅读:
    Java基础__ToString()方法
    wamp的www目录更改为指定目录
    织梦Dedecms主要文件夹目录及模板文件说明
    下拉菜单
    替换代码行之间空白
    CSS 之 Opacity多浏览器透明度兼容处理
    网页字体特效代码
    jquery animate 动画效果使用说明
    CSS中属性position位置详解功能讲解与实例分析
    jQuery通过jquery.form.js插件使用AJAX提交Form表单
  • 原文地址:https://www.cnblogs.com/liych/p/13585808.html
Copyright © 2011-2022 走看看