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)
数据控制语言,用来创建数据库用户、控制数据库的访问权限。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果