查询语法
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组后条件
order by
排序字段
limit
分页限定
基础查询
select 字段列表 from 表名;
select * from 表名; -- 查询所有字段
select distinc 字段列表 from 表名
as -- as 也可以省略
条件查询
select 字段列表 from 表名 where 条件列表;
符号 功能 > 大于 < 小于 >= 大于等于
排序查询
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
分页查询
select 字段列表 from 表名 limit 起始索引, 查询条目数
起始索引从 0 开始
计算公式: 起始索引 = (当前页码 – 1) * 每页显示的条数
tips:
~分页查询是MySQL的方言
~Oracle分页查询采用 rownumber
~SQL Server 分页查询使用 top
Original: https://www.cnblogs.com/wojiuyishui/p/16500372.html
Author: 我就一水
Title: DQL
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578662/
转载文章受原作者版权保护。转载请注明原作者出处!