基础查询 — 排序与分页

排序

1.语法
  • 关键字:order by

  • 语法结构

    select 字段列表
    from   表名
    where  筛选条件
    order by 排序的字段或表达式;
    
2.特点
  • asc代表的是升序(默认状态下也是升序排序,可以省略)。
  • desc代表的是降序。
  • order by字段支持单个字段、别名、表达式、多个字段……
  • order by 子句在查询语句的最后面,但是在limit 子句之前。
3.使用实例
  • 按单个字段排序

    # 查询 employees 表所有信息,按工资降序排序
    select *
    from employees
    order by salary desc;
    
  • 添加筛选条件再排序

    # 查询 employees 表中,部门编号大于等于 90 的员工信息,并按员工编号降序
    select * 
    from employees
    where department_id >= 90
    order by salary desc;
    
  • 按别名排序

    # 查询 employees 表中,所有员工信息,按年薪(不算提成)升序排序
    select salary * 12 as annual_salary
    from employees
    order by annual_salary asc;
    
  • 按函数排序

    # 查询 employees 表中,员工名字 first_name 和名字长度,并且按长度降序排序
    select first_name, length(first_name) as len
    from employees
    order by len desc;
    
  • 按多个字段排序

    # 查询 employees 表中,所有员工信息,先按工资降序,再按 employee_id 升序排序
    select * 
    from employees
    order by salary desc, employee_id asc;
    
    # 查询 employees表中,邮箱中包含 e 的员工信息,并先按邮箱长度降序,再按部门号升序排序
    select *, length(email) as len
    from employees
    where email like '%e%'
    order by len desc, department_id asc; 
    

分页

1.语法
  • 应用场景:当要显示的数据太多,一页显示不下,需要分页提交请求。

  • 关键字:limit offset, size;

    • offset:要显示条目的起始索引。
    • size:要显示的条目个数。
  • 语法结构

    select 字段列表
    from   表名
    where  筛选条件
    order by 排序的字段或表达式
    limit offset, size;
    
2.特点
  • limit语句放在查询语句的最后。
  • 公式:offset = (page-1)\size
3.实例
  • 查询 employees 表的前五条员工信息

    select * 
    from employees
    limit 0, 5; 
    
  • 查询 employees 表的第 11 条 ~ 第 25 条

    select * 
    from employees
    limit 10, 15;
    

    每次浅浅的拥抱,音乐在黑暗中舞起。 ——新裤子《夏日终曲》

猜你喜欢

转载自blog.csdn.net/m0_60610120/article/details/131036320