MySQl----完成DQL语句的学习----分页查询,DQL语句练习,DQL语句的编写顺序与执行顺序

首先,是分页查询:

分页查询是DQL查询语句的最后一个部分

这里会有一个关键字:LIMIT

分页查询的语法:

select 字段列表 FROM 表名 limit 起始索引,查询记录数;

起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数。

分页查询是数据库的方言(指的是数据库之间不同的地方),不同的数据库有不同的实现,MySql中就是limit。

如果查询是从第一页开始的,起始索引可以忽略,直接简写为limit 10.

通过需求来展现分页查询的用法:

一.查询第一页员工的数据,每页展示10条记录

select * from ts limit 0,10;

当然,也可以进行简写:select * from ts limit 10;

从第一页开始查询的

需求二:从第二页开始查询,每页展示10条记录。

select * from ts limit 10,10;

也可以这样理解,查询的就是从记录到记录,起始索引也有个公式,比如说,从第二页开始查询,那么起始索引就是(页码-1)*页展示的记录数。

DQL语句的练习:

以下五个需求练习:

1.查询年龄为20,21,22,23岁的员工信息.

select *from ts where age in (20,21,22,23);

2.查询性别为男,并且年龄在20-40岁以内的姓名为三个字的员工。

select from ts where gender='男'and age >=20 and age<=40 and name like'';
select *from ts where gender='男'and age( between 20 and 40 )and name like '
* ';
3.统计员工表中,年龄小于60岁的,男性员工和女性员工的人数。
select gender,count(* ) from ts where age<60 group by gender;

4.查询所有年龄小于等于35岁的员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按照入职顺序降序排序。

select name,age from ts where age<35 order by age asc,entrydate desc ;

5.查询性别为男,且年龄在20-40岁以内的前五个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。

select * from ts where age between 10 and 40 and gender='男' order by age asc ,entrydate asc limit 5;

DQL语句的编写顺序和执行顺序:

我们做了很多DQL语句的练习,知道了DQL语句很多都需要一层一层的往上加,所以很多时候就会有困扰,DQL语句在哪里加什么东西,这里给大家解释一下:

DQL语句是有编写顺序的,每一个关键字都是有划分依据的:

select字段列表from表名where条件列表group by分组字段列表having分组后条件列表order by排序字段列表limit分页参数

这是查询的时候所需要的东西,一定需要谨记。

那么执行顺序呢,就是先会执行哪一个关键字所对应的东西:

执行顺序就是:

from->where->group by->having->select->order by->limit.

相关推荐
欢呼的太阳1 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
千寻xun2 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
researcher-Jiang2 小时前
高性能计算之OpenMP——超算习堂学习1
android·java·学习
喜欢的名字被抢了3 小时前
MySQL基础入门:从零理解数据库与SQL
数据库·mysql·教程
Elastic 中国社区官方博客3 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
DLYSB_4 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
儒雅的大叔4 小时前
MySQL数据库InnoDB数据恢复工具使用总结
数据库·mysql·adb
观远数据4 小时前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql
嘉&年华4 小时前
【第008篇】通过dexp和dimp命令导出和导入dmp文件(适用于达梦数据库)
数据库·sql
哥是强混6 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net