数据的查询语句DQL(数据查询语言)

本文介绍了DQL(数据查询语言)的基础知识,包括完整语法、执行顺序和编写顺序。内容涵盖基础查询、去除重复记录、字段别名、查询条件如模糊查询,以及聚合函数、分组查询、排序查询和分页查询的用法。特别指出,分组后的查询只能包含聚合函数和分组字段,并讲解了分页查询的起始索引计算公式及其在MySQL中的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

完整语法&执行顺序和编写顺序

编写顺序:              执行顺序:
	SELECT 				FROM 
    字段列表				表名列表 
	FROM 				WHERE 
    表名列表 			条件列表
	WHERE 				GROUP BY
    条件列表				分组字段
	GROUP BY			HAVING
    分组字段				分组后条件
	HAVING				SELECT
    分组后条件			字段列表
	ORDER BY			ORDER BY

基础查询

查询多个字段:

SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; -- 查询所有数据

去除重复记录:

SELECT DISTINCT 字段列表 FROM 表名;

起别名:

AS: AS 也可以省略

查询条件

查询条件

SELECT 字段列表 FROM 表名 WHERE 条件列表;

模糊查询练习
模糊查询使用like关键字,可以使用通配符进行占位:

_ : 代表单个任意字符
% : 代表任意个数字符

聚合函数

聚合函数

SELECT 聚合函数名(列名) FROM;

注意:null值不参与所有的聚合函数运算

分组查询

SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];

注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义


排序查询

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2];

上述语句中的排序方式有两种,分别是:
ASC : 升序排列 (默认值)
DESC : 降序排列

注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序


分页查询

SELECT 字段列表 FROM 表名 LIMIT  起始索引 , 查询条目数;

注意: 上述语句中的起始索引是从0开始

0开始查询,查询3条数据:
	select * from stu limit 0 , 3;
每页显示3条数据,查询第1页数据:
	select * from stu limit 0 , 3;
每页显示3条数据,查询第2页数据:
	select * from stu limit 3 , 3;
每页显示3条数据,查询第3页数据:
	select * from stu limit 6 , 3;

从上面的练习推导出起始索引计算公式
起始索引 = (当前页码 - 1) * 每页显示的条数
注意
分页查询是数据库的方言,不同的数据库有不同的实现,MySQL是limit
如果查询的是第一页的数据,起始索引可以省略,直接简写为limit 10


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值