一、DQL-基本查询
1、查询多个字段
Select 字段1,字段2,… from 表名;
Select * from 表名;
2、设置别名
Select 字段1 【as 别名1】,字段2 【as 别名2】… ; from 表名;
3、去除重复记录
Select distinct 字段列表 from 表名;
二、DQL-条件查询
1、语法:
select 字段列表 from 表名 where 条件列表
2、条件:
(1)比较运算符:
>:大于
>= :大于等于
< :小于
<= :小于等于
= :等于
<>或!= : 不等于
Between … and … :含最小、最大值
In(…) :在in之后的列表中的值,多选一
Like 占位符:模糊匹配(_匹配单个字符, %匹配多个字符)
Is NULL :匹配NULL值
(2)逻辑运算符:
And 或 && :并且(多个条件同时成立)
Or或 || :或者(多个条件任意一个成立)
Not 或 | :非,不是
三、DQL-聚合函数
1、语法:
Select 聚合函数(字段列表) from 表名;
2、常见的聚合函数:
Count :统计数量
Max :最大值
Min :最小值
Avg :平均值
Sum :求和
3、注意:
null值不参与所有聚合函数运算
四、DQL-分组查询、
1、语法
Select 字段列表 from 【where 条件】 group by 分组字段名 【having 分组后过滤条件】;
2、where与having的区别
(1)执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行你过滤
(2)判断条件不同:where不能对聚合函数进行判断,而having可以
3、注意事项:
(1)执行顺序:where > 聚合函数 > having
(2)分组之后,查询的字符一般为聚合函数和分组字段,查询其他字段无任何意义
五、DQL-排序查询
1、语法
Select 字段列表 from 表名 order by 字段1 排序顺序1 ,字段2 排序顺序2,字段… 排序顺序…;
2、排序方式
- asc:升序(默认值)
- desc:降序
3、注意
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序
六、DQL-分页查询
1、语法
Select 字段列表 from 表名 linit 起始索引,查询记录数;
2、注意
(1)起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数
(2)分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中的是limit
(3)如果查询的是第一页的数据,起始索引可以省略,查询简写为limit 10
七、DQL-执行顺序
一般来说,
DQL语句的编写顺序为select到from到where到group by到having到order by到linit
DQL语句的执行顺序为from到where到group by到having到select到order by到limit