当前位置:网站首页>Mysql数据库轻松学06—数据分析师常用:数据查询语言DQL之单表查询

Mysql数据库轻松学06—数据分析师常用:数据查询语言DQL之单表查询

2022-06-22 01:34:00 潇洒白羊

数据查询语言DQL

用来查询数据库表中的记录
基本结构:

SELECT 字段名 FROM 表或视图名 WHERE 查询条件

单表查询

1、结果为虚拟结果集

select语句执行后服务器会按照要求检索表中数据,并将检索结果发送到客户端,这个以表的形式展示出来的临时结果集,它是存放在内存中,不是在磁盘中的,执行其他操作之后这个结果集就没有了,所以它是临时存在的虚拟结果集,而不是一个真实的表。

2、全表查询

select * from 表名; 

若一个表体量较大,一般使用以下两种方法来看表中的数据

1、选择前10行进行查看 top 10

select top 10 *  from 表名

2、限制查询结果数量 limit

select 字段1[,字段2,] from 表名 limit [偏移量,] 行数; 

limit接受一个或两个数字参数,参数必须是一个整数常量
第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目
如果只给定一个参数,表示返回最大的记录行数目
初始记录行的偏移量是0(而不是1)
例子:
dept表中一共有4行数据
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3、查询指定列

select 字段1[,字段2,] from 表名; 

4、查询不重复的数据 distinct

select distinct 字段名 from 表名; 

5、设置别名 as

select 字段名 as 列别名 from 原表名 [as ]表别名;

6、条件查询 where

select 字段1[,字段2,] from 表名 where 筛选条件; 

筛选条件中可以添加运算符
算术运算符:
+ 加; - 减 ;* 乘; /

比较运算符:
= 等于;>/>= 大于/大于等于;</<= 小于/小于等于;
!=/<> 不等于;
between…and… 在什么什么之间

逻辑运算符
and 且;or 或;not

7、空值查询 is null

select 字段1[,字段2,] from 表名 where 空值字段 is[not] null; 

注意:空值不能进行比较,如想要筛选出空值应该使用 is null

8、模糊查询 like 通配符

select 字段1[,字段2,] from 表名 where 字符串字段[ not] like 通配符; 

通配符:
百分号(%)通配符:匹配0个或多个字符
下划线(_)通配符:匹配一个字符

9、聚合运算

将多行数据进行聚集计算为一行
聚合函数会对null以外的数据进行聚合运算
在这里插入图片描述

10、分组查询与分组筛选

分组查询

select 字段1[,字段2,] from 表名[ where 查询条件] group by 分组字段1[,分组字段2,];

将查询结果按照一个或多个字段进行分组,字段值相同的为一组,对每个组进行聚合计算
多字段分组时,多个字段的取值完全一样会分为一组
分组后筛选:

select 字段1[,字段2,] from 表名[ where 查询条件][ group by 分组字段1[,分组字段2,]] having 筛选条件; 

where与having的区别
where在分组和聚合计算之前对表中的数据进行筛选,而having在分组和聚合之后对分好的组进行筛选,因此where子句不能包含聚合函数

11、查询结果排序 order by

select 字段1[,字段2,] from 表名 order by 字段1[ 排序方向,字段2 排序方向,]; 

将查询结果按照一个或多个字段进行排序,排序时可对每个字段指定排序方向。多字段排序时,先按第一个字段排序,第一个字段值相同时再按第二个字段排序
指定排序方向
asc( ascendent)升序,例如 [ 0 1 2 3 4 5 ];
desc(descendent)降序,例如[ 5 4 3 2 1 0 ]

原网站

版权声明
本文为[潇洒白羊]所创,转载请带上原文链接,感谢
https://blog.csdn.net/one_bird_/article/details/122148525