数据库的查询操作DQL
基础查询
select 字段列表 from 表名;
-- 查询单个字段
select * from 表名;
-- 查询所有数据
select distinct 字段列表 from 表名;
-- 去除重复记录
as ;
-- 起别名 as也可以省略
注意:sql语言里如果要查询值为Null的数据需要使用is关键字不能使用=,!=,>=,<=
排序查询
select 字段列表 from order by 排序字段名1【排序方式1】排序字段2【排序方式2】;
-- 排序方式:
ASC : 升序排列(默认值)
DESC:降序排列
-- 如果有多个排序条件,当前面的条件值一样时,才会根据第二条件进行排序
聚合函数
- 概念
将一列数据作为一个整体,进行纵向计算
- 聚合函数分类:
函数名 | 功能 |
---|---|
count(列名) | 统计数量 |
max(列名) | 最大值 |
min(列名) | 最小值 |
sum(列名) | 求和 |
avg(列名) | 平均值 |
- 聚合函数语法:
select 聚合函数名(列名)from 表;
注意:null值不参与所有聚合函数运算
分组查询
- 语法
select 字段列表 from 表名 【where 分组前条件限定】 group by 分组字段名 【having 分组后条件过滤】
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
where和having区别:
- 执行时机不一样 : where 是分组之前进行限定,不满足where条件,则不参与分组,having是分组之后对结果进行过滤
- 可判断的条件不一样:where不能对聚合函数进行判断,having可以
执行顺序:where>聚合函数>having
分页查询
- 分页查询语法
select 字段列表 from 表名 limit 起始索引 ,查询条目数;
- 起始索引:从0开始
计算公式:起始索引=(当前页码-1)*每页显示的条数
注意:
- 分页查询的limit关键字是Mysql独有的
- oracle分页查询使用的是rownumber
- sql server分页查询使用top
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!