SQL语句排序、分页、多表查询
一、排序
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语句排序、分页、多表查询相关推荐
- 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 ...
- 【转】在SQL Server中通过SQL语句实现分页查询
在SQL Server中通过SQL语句实现分页查询 2008年01月06日 星期日 12:28 建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY ...
- MySQL的SQL 语句:根据从表记录个数对主表排序
MySQL的SQL 语句:根据从表记录个数对主表排序 一个主表 news,有字段 nId(自动增长),sName. 记录: 10 name10 13 name13 20 ...
- 建立“图书_读者”数据库及如下 3 个表,并输入实验数据,用 SQL 语句实现如下五个查询(opengauss)
建立"图书_读者"数据库及如下 3 个表,并输入实验数据,用 SQL 语句实现如下五个查询(opengauss) 题目所涉及的表如下 注:使用opengauss与HeidiSQL: ...
- oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解
oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...
- MySQL基础教程 包含SQL语句、约束、表关系、设计范式、多表、事务等
简介 数据库 数据库(Database):是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存 ...
- 基于SpringDataJpa的mysql动态分页多表查询
基于SpringDataJpa的mysql动态分页多表查询 由于这篇文章预计篇幅会很长,关于Spring Data JPA的知识就简短的分享,更多的请自行度娘,JPA 封装了很多查询的接口,但今天要讲 ...
- 基本sql语句练习(学生表)
基本sql语句练习 1.学生表的基本操作 老老实实把下面的打完,相信我. -- 创建表 CREATE TABLE t_stu(-- 列名 类型 主键 自动增长 注释stu_id BIGINT PRIM ...
- sql语句用变量替换表名_使用内存优化表替换SQL临时表和表变量
sql语句用变量替换表名 TempDB usage can be considered as a performance bottleneck for workloads that use SQL t ...
- java分页sql语句_「sql分页」sql语句 实现分页 - seo实验室
sql分页 sql语句 实现分页 /* 分页思想:比如你要每页获取10条记录,当你显示第5页的记录时, 也就是选取第40条至50条的记录.首先应该从所有的记录集中选取 50条记录,同时进行倒序,再从中 ...
最新文章
- centos 6.5 配置LDAP服务器+客户端!
- ecshop php升级,升级-安装与升级- ECShop帮助
- BZOJ4107 : [Wf2015]Asteroids
- Oracle的一些资料
- 如何学习IOS开发~三个字(学思做)
- set的find()函数
- mxnet系列 tools 查看params的内容
- DEDECMS安装遇到NO input files specified解决方案
- 最齐全的地面贴图素材,速来收藏
- 别再用所谓的MD5加密了,大佬们都用它——>MD5盐值加密多方法详解
- Qt学习——任务一:按钮点击打开和关闭窗口
- c语言 圆周率10000位,圆周率(小数点后10000位,背死你)
- python多维数组分位数的求取
- git amend如何撤销
- 稻城亚丁神州租车自驾游,一生一定要去一次的地方
- Xilinx的FPGA手册中关于如何Booting RFSoCsZynq
- UDP通信多发多收(案例)和广播组播
- 雨滴网易云播放器html代码,求大佬帮忙看下 雨滴音乐插件怎么改代码关联网易云?...
- darknet转caffe
- java实现求最小公倍数_使用Java代码进行因数分解和求最小公倍数的示例
热门文章
- ubuntu系统配置记录
- 可迭代对象与迭代器对象
- 618过后,一地鸡毛!UB Store助力商家“善后”
- 关于python中def的高级用法,def中套def,python函数装饰器
- windows系统“删库跑路“脚本bat
- 30 个免费的 Sketch 必备插件 1
- HikariPool连接池超时问题
- 解决idea中使用git fetch报远程仓库Authentication failed
- Win10不能直接拖文件进行打开解决 办法
- 『ML笔记』HOG特征提取原理详解+代码