SQL数据查询语言-DQL

SQL数据查询语言-DQL
MoziSQL 基本语法-DML
SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言,主要分为以下几类:
- DDL(数据定义语言):定义数据库对象(如数据库、表、字段)。
- DML(数据操作语言):操作表中的数据(增、删、改)。
- DQL(数据查询语言):查询表中的记录。
- DCL(数据控制语言):管理用户权限和数据库安全。
DQL(Data Query Language)
DQL 英文全称是 Data Query Language(数据查询语言),用来查询数据库表中的记录。
DQL 语句
完整的 DQL 查询 语句语法
1 | SELECT |
- 基本查询(select…from…)
- 条件查询(where)
- 分组查询(group by)
- 排序查询(order by)
- 分页查询(limit)
DQL - 基本查询
1 | -- 查询多个字段 |
\*号代表查询所有字段,在实际开发中尽量少用(不直观、影响效率)。
如果 遇到 比较复杂的单表问题 , 没有思路,可以 使用 as 别名 转换成 多表
DQL-条件查询
1 | select 字段列表 from 表名 where 条件列表 ; |
比较运算符&&逻辑运算符
| 比较运算符 | 功能 |
|---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
between … and … | 在某个范围之内(含最小、最大值) |
in(...) | 在 in 之后的列表中的值,多选一 |
like 占位符 | 模糊匹配(_匹配单个字符, %匹配任意个字符) |
is null | 是 null |
| 逻辑运算符 | 功能 |
|---|---|
and 或 && | 并且 (多个条件同时成立) |
or 或 || | 或者 (多个条件任意一个成立) |
not 或 ! | 非 , 不是 |
DQL-分组查询
1 | -- 分组查询 |
| 函数 | 功能 |
|---|---|
count |
统计数量 |
max |
最大值 |
min |
最小值 |
avg |
平均值 |
sum |
求和 |
null 值不参与所有聚合函数的运算 。
case when then
where与having的区别:- 执行时机不同:
where是分组之前进行过滤,不满足where条件,不参与分组; - 而 having 是分组之后对结果进行过滤。判断条件不同:
where不能对聚合函数进行判断,而having可以。
- 执行时机不同:
DQL-排序查询
1 | -- 排序查询 |
- 排序方式:升序(asc),降序(desc);默认为升序 asc,是可以不写的。
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。
DQL-分页查询
1 | -- 排序查询 |
- 说明:
- 起始索引从 0 开始,起始索引 = (查询页码 - 1)* 每页显示记录数。
- 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL 中是 LIMIT。
- 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。
DCL(Data Control Language)
数据控制语言,用来创建数据库用户、控制数据库的访问权限。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果




