DQL
查询语法
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组后条件
order by
排序字段
limit
分页限定
基础查询
查询多个字段
select 字段列表 from 表名;
select * from 表名; -- 查询所有字段
去除重复记录
select distinc 字段列表 from 表名
起别名
as <别名> -- as 也可以省略
条件查询
条件查询语法
select 字段列表 from 表名 where 条件列表;
条件
| 符号 | 功能 |
|---|---|
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于大于 |
| = | 等于 |
| <> 或 != | 不等于 |
| between …… and | 在某个范围之内(都包含) |
| in( …… ) | 多选 |
| like 占位符 | 模糊查询 _单个任意字符 , %多个任意字符 |
| is null | 是 null |
| is not null | 不是null |
| and 或 && | 并且 |
| or 或 || | 或者 |
| not 或 ! | 非, 不是 |
排序查询
排序查询语法
select 字段列表 from 表名 order by 排序字段名1 排序方式1, 排序字段名2 排序方式2 ……;
排序方式
asc 升序排列(默认值)
desc 降序排列
-- 当如果有多个排序条件,当前面的条件值一样时,才会根据第二条件进行排序
聚合函数
将一列数据只作为一个整体,进行纵向计算
聚合函数分类
| 函数名 | 功能 |
|---|---|
| count(列名) | 统计数量(一般选用不为null的列) |
| max(列名) | 最大值 |
| min(列名) | 最小值 |
| sum(列名) | 求和 |
| avg(列名) | 平均值 |
聚合函数的语法
select 聚合函数名(列名) from 表;
**null 只不参加所有聚合函数的运算 **
分组查询
分组查询语法
select 字段列表 from 表名 [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];
分组之后查询的字段为聚合函数和分组字段,查询其他字段无任何意义
where 和 having 区别
~ 执行时机不一样: where 是分组前进行限定,不满足分组条件,则不参与分组,而having 是分组之后对结果进行过滤
~可判断的条件不一样: where 不能对聚合函数进行判断, having 可以.
执行顺序: where > 聚合函数 > having
分页查询
分页查询语法
select 字段列表 from 表名 limit 起始索引, 查询条目数
起始索引从 0 开始
计算公式: 起始索引 = (当前页码 - 1) * 每页显示的条数
tips:
~分页查询是MySQL的方言
~Oracle分页查询采用 rownumber
~SQL Server 分页查询使用 top
浙公网安备 33010602011771号