MYSQL基础知识之DQL语句

发布时间 2023-04-03 23:15:35作者: 城为唯一

1、DQL概念

DQL英文全称是Data Query Language(数据查询语言),用来查询数据库中的表的记录

2、基本查询

语法:

# 查询全部字段
SELECT * FROM 表名;

 

# 查询多个字段
SELECT 字段1,字段2,字段3... FROM 表名;

 

# 去重 

语法:SELECT DISTINCT 字段列表 FROM 表名;

 

 

 3、条件查询

语法:SELECT 字段列表 FROM 表名 WHERE 条件列表;

常见条件运算符如下图:

 

 

 4、聚合函数

语法:SELECT 聚合函数(字段列表) FROM 表名;

将一列数据作为一个整体,进行纵向计算,常见的聚合函数有:
count:统计数量;
max:最大值;
min:最小值;
avg:平均值;
sum:求和。

注意:所有的聚合函数都不计算NULL值

 

 5、分组查询

语法:SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];

WHERE与HAVING区别:
执行时间不同:WHERE是分组之前进行过滤,不满足WHERE条件,不参与分组;而HAVING是分组之后对结果进行过滤;
判断条件不同:WHERE 不能对聚合函数进行判断,而HAVING可以。
注意:
执行顺序:WHERE>聚合函数>HAVING;
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

 

 6、排序查询

语法:SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;

排序方式有:
ASC:升序(默认值);
DESC:降序;
注意:当多字段排序时,第一个字段值相同时,才会根据第二个字段进行排序

 

7、分页查询

语法:SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

注意:
起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数;
分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT;
当查询的是第一页数据,起始索引可以省略,直接简写为LIMIT 10

 由于第二页没有数据,所以输入为0

 

8、DQL执行顺序

FROM -> WHERE ->GROUP BY -> HAVING -> SELECT ->ORDER BY ->LIMIT