一.条件查询(where)
select ... from 表名 where 条件列表
| 比较运算符 | 意义 |
|---|---|
| > | 大于 |
| < | 小于 |
| >= | 大于小于 |
| <= | 小于等于 |
| = | 等于 |
| != | 不等于 |
| between…and… | 在两者之间 |
| in(…) | 在取值之间 |
| like 占位符(如%或_) | 模糊匹配 |
| is null或is not null | 为空或不为空 |
| 逻辑运算符 | 意义 |
|---|---|
| and 或 && | 且 |
| or 或 || | 或 |
| not或 ! | 非 |
二.分组查询(group by)
前置知识:聚合函数
select 聚合函数(字段列表) from 表名;
| 聚合函数 | 说明 |
|---|---|
| min() | 最小值 |
| max() | 最大值 |
| count() | 统计数量,常用count(*)查询所有数据条数 |
| avg() | 计算平均数 |
| sum() | 计算和 |
分组查询,只能select 1.分组列 和 2.聚合函数。因为分组的本质是”压缩数据“,会把每个分组压缩成一行,其他具体属性的数据行无必要显示。先分组,后聚合。分组后就相当于把所有数据打包成若干行数据,再有的聚合函数就对每个组分别求聚合函数。
书写规范:
select
聚合函数(字段列表),分组字段
from
表名
where
条件语句
group by
分组字段
[having 分组后过滤条件];
where和having的区别:
1.where在分组前过滤,having在分组后过滤。
2.where不能对聚合函数判断,having能。
三.排序查询(order by)
书写规范:
select
聚合函数(字段列表),分组字段
from
表名
where
条件语句
group by
分组字段
[having 分组后过滤条件];
order by
字段名1 asc/desc,字段名2 asc/desc,...
四.分页查询(limit)
书写规范:
select
聚合函数(字段列表),分组字段
from
表名
where
条件语句
group by
分组字段
[having 分组后过滤条件];
order by
字段名1 asc/desc,字段名2 asc/desc,...
limit 起始索引,每页条数
起始索引计算公式:
设想展示的页面数为n,设定的每页展示条数为m,
起始索引 = m*(n-1)
流程控制函数
if表达式:if(条件,满足返回的字符,不满足返回的字符)
case表达式:case 字段名 when 值1 then 结果1 when 值2 then 结果2… else 结果n end

1万+

被折叠的 条评论
为什么被折叠?



