一、排序

1.1 排序规则

使用 ORDER BY 子句排序

ASC(ascend): 升序

DESC(descend):降序

ORDER BY 子句在SELECT语句的结尾。

1.2 单列排序

SELECT last_name, job_id, department_id, hire_date

FROM employees

ORDER BY hire_date ;

若没有指定排序方式,则默认按照升序排序

1.3 多列排序

SELECT last_name, department_id, salary

FROM employees

ORDER BY department_id, salary DESC;

二、分页

MySQL中使用 LIMIT 实现分页

格式:

LIMIT [位置偏移量,] 行数第一个“位置偏移量”参数指示MySQL从哪一行开始显示,是一个可选参数,如果不指定“位置偏移

量”,将会从表中的第一条记录开始(第一条记录的位置偏移量是0,第二条记录的位置偏移量是

1,以此类推);第二个参数“行数”指示返回的记录条数。

公式:每页显示size条记录,此时显示第page页

LIMIT(page - 1)*size,size

2. MySQL8.0新特性:LIMIT 条目数 OFFSET 位置偏移量

3. 作用:减少传输量,提升查询效率

三、多表查询

代码实现

#中图:内连接 A∩B

SELECT employee_id,last_name,department_name

FROM employees e JOIN departments d

ON e.`department_id` = d.`department_id`;

#左上图:左外连接

SELECT employee_id,last_name,department_name

FROM employees e LEFT JOIN departments d

ON e.`department_id` = d.`department_id`;

#右上图:右外连接

SELECT employee_id,last_name,department_name

FROM employees e RIGHT JOIN departments d

ON e.`department_id` = d.`department_id`;

#左中图:A - A∩B

SELECT employee_id,last_name,department_name

FROM employees e LEFT JOIN departments d

ON e.`department_id` = d.`department_id`

WHERE d.`department_id` IS NULL

#右中图:B-A∩B

SELECT employee_id,last_name,department_name

FROM employees e RIGHT JOIN departments d

ON e.`department_id` = d.`department_id`

WHERE e.`department_id` IS NULL#左下图:满外连接

# 左中图 + 右上图 A∪B

SELECT employee_id,last_name,department_name

FROM employees e LEFT JOIN departments d

ON e.`department_id` = d.`department_id`

WHERE d.`department_id` IS NULL

UNION ALL #没有去重操作,效率高

SELECT employee_id,last_name,department_name

FROM employees e RIGHT JOIN departments d

ON e.`department_id` = d.`department_id`;

#右下图

#左中图 + 右中图 A ∪B- A∩B 或者 (A - A∩B) ∪ (B - A∩B)

SELECT employee_id,last_name,department_name

FROM employees e LEFT JOIN departments d

ON e.`department_id` = d.`department_id`

WHERE d.`department_id` IS NULL

UNION ALL

SELECT employee_id,last_name,department_name

FROM employees e RIGHT JOIN departments d

ON e.`department_id` = d.`department_id`

WHERE e.`department_id` IS NULL

SQL语句排序、分页、多表查询相关推荐

  1. java day55【 Mybatis 连接池与事务深入 、 Mybatis 的动态 SQL 语句、 Mybatis 多表查询之一对多 、 Mybatis 多表查询之多对多】...

    第1章 Mybatis 连接池与事务深入 1.1 Mybatis 的连接池技术 1.1.1 Mybatis 连接池的分类 1.1.2 Mybatis 中数据源的配置 1.1.3 Mybatis 中 D ...

  2. 【转】在SQL Server中通过SQL语句实现分页查询

    在SQL Server中通过SQL语句实现分页查询 2008年01月06日 星期日 12:28 建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY ...

  3. MySQL的SQL 语句:根据从表记录个数对主表排序

    MySQL的SQL 语句:根据从表记录个数对主表排序 一个主表 news,有字段 nId(自动增长),sName.     记录:     10 name10     13 name13     20 ...

  4. 建立“图书_读者”数据库及如下 3 个表,并输入实验数据,用 SQL 语句实现如下五个查询(opengauss)

    建立"图书_读者"数据库及如下 3 个表,并输入实验数据,用 SQL 语句实现如下五个查询(opengauss) 题目所涉及的表如下 注:使用opengauss与HeidiSQL: ...

  5. oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解

    oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...

  6. MySQL基础教程 包含SQL语句、约束、表关系、设计范式、多表、事务等

    简介 数据库 ​ 数据库(Database):是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据. ​ 我们也可以将数据存 ...

  7. 基于SpringDataJpa的mysql动态分页多表查询

    基于SpringDataJpa的mysql动态分页多表查询 由于这篇文章预计篇幅会很长,关于Spring Data JPA的知识就简短的分享,更多的请自行度娘,JPA 封装了很多查询的接口,但今天要讲 ...

  8. 基本sql语句练习(学生表)

    基本sql语句练习 1.学生表的基本操作 老老实实把下面的打完,相信我. -- 创建表 CREATE TABLE t_stu(-- 列名 类型 主键 自动增长 注释stu_id BIGINT PRIM ...

  9. sql语句用变量替换表名_使用内存优化表替换SQL临时表和表变量

    sql语句用变量替换表名 TempDB usage can be considered as a performance bottleneck for workloads that use SQL t ...

  10. java分页sql语句_「sql分页」sql语句 实现分页 - seo实验室

    sql分页 sql语句 实现分页 /* 分页思想:比如你要每页获取10条记录,当你显示第5页的记录时, 也就是选取第40条至50条的记录.首先应该从所有的记录集中选取 50条记录,同时进行倒序,再从中 ...

最新文章

  1. centos 6.5 配置LDAP服务器+客户端!
  2. ecshop php升级,升级-安装与升级- ECShop帮助
  3. BZOJ4107 : [Wf2015]Asteroids
  4. Oracle的一些资料
  5. 如何学习IOS开发~三个字(学思做)
  6. set的find()函数
  7. mxnet系列 tools 查看params的内容
  8. DEDECMS安装遇到NO input files specified解决方案
  9. 最齐全的地面贴图素材,速来收藏
  10. 别再用所谓的MD5加密了,大佬们都用它——>MD5盐值加密多方法详解
  11. Qt学习——任务一:按钮点击打开和关闭窗口
  12. c语言 圆周率10000位,圆周率(小数点后10000位,背死你)
  13. python多维数组分位数的求取
  14. git amend如何撤销
  15. 稻城亚丁神州租车自驾游,一生一定要去一次的地方
  16. Xilinx的FPGA手册中关于如何Booting RFSoCsZynq
  17. UDP通信多发多收(案例)和广播组播
  18. 雨滴网易云播放器html代码,求大佬帮忙看下 雨滴音乐插件怎么改代码关联网易云?...
  19. darknet转caffe
  20. java实现求最小公倍数_使用Java代码进行因数分解和求最小公倍数的示例

热门文章

  1. ubuntu系统配置记录
  2. 可迭代对象与迭代器对象
  3. 618过后,一地鸡毛!UB Store助力商家“善后”
  4. 关于python中def的高级用法,def中套def,python函数装饰器
  5. windows系统“删库跑路“脚本bat
  6. 30 个免费的 Sketch 必备插件 1
  7. HikariPool连接池超时问题
  8. 解决idea中使用git fetch报远程仓库Authentication failed
  9. Win10不能直接拖文件进行打开解决 办法
  10. 『ML笔记』HOG特征提取原理详解+代码