四、SQL分类之DQL

排序查询

语法:order by 排序字段1 排序方式1, 排序字段2 排序方式2
排序方式:

  • ASC 升序,默认的
  • DESC 降序
    ⚠️注意:如果有多个排序条件,则当前一个条件值一样的时候,才会判断第二条件。

聚合函数

将一列数据作为一个整体,进行纵向的计算

  1. count:计算个数。一般选择非空的列
    select count(*) from stu
  2. max: 计算最大值
    select max(score) from stu
  3. min: 计算最小值
    select min(score) from stu
  4. sum: 计算和
    select sum(score) from stu
  5. avg: 计算平均值
    select avg(score) from stu
    ⚠️注意:聚合函数的计算,排除null值
    解决方案:
    1.选择不包含非空的列进行计算
    2.使用IFNULL函数

分组查询

语法:group by 分组字段;
⚠️注意:分组之后查询的字段:分组字段、聚合函数

  • where 和 having 的区别?
    1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来。
    2. where 后不能跟聚合函数,having可以使用聚合函数

分页查询

语法:limit 开始索引,每页查询的条数
公式:开始索引 = (当前的页码 - 1 )* 每页显示的条数
limit 是mysql的方言

-- 每页显示3条记录
SELECT * FROM stu LIMIT 0,3;  ---第1页
SELECT * FROM stu LIMIT 3,6;  ---第2页
SELECT * FROM stu LIMIT 6,3;  ---第3页

基础查询

  1. 多个字段的查询
    select 字段名1,字段名 2 ... from 表名
    ⚠️注意
    如果查询所有字段,则可以使用 *
  2. 去除重复
    关键字 DISTINCT
    select DISTINCT(字段名1) from 表名
  3. 计算列
    一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
    IFNULL(表达式1,表达式2)
  4. 起别名
  • as 也可以省略as
    select name as 姓名 from 表名
    select name 姓名 from 表名

条件查询

1.where子句后面跟条件
2.运算法

  • <、<=、>、 >= 、= 、<>
  • BETWEEN...AND
  • IN(集合)
  • LIKE
  • IS NULL
  • and 或 &&
  • or 或 ||
  • not 或 !
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容