导图社区 MySQL
这是一个关于MySQL的思维导图,主要包含数据库、SQL语言、基础查询汇总、窗口函数、多表查询、子查询等详细知识点。
这是一个关于PCB图基础知识的思维导图,PCB图是电路板的映射图纸,它详细描绘了电路板的走线、元件的位置等,是电路结构的基本构造图。主要作用是指导PCB的制造和组装过程,它是将原理图转化为实际电路板的关键环节,直接决定了电子产品的性能和可靠性。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
MySQL
数据库
数据库的组成
行和列构成表,一张张表构成数据库,MySQL里面可以放多个数据库
数据库的类型
商业数据库
,例如:Oracle,SQLServer,DB2等;
开源数据库
如:MySQL,PostgreSQL等;
桌面数据库
以微软Access为代表,适合桌面应用程序使用
数据类型
数值型
最常用的是int(整数)、float(小数)和double(小数)
日期型
最常用的是DATE(日期)、TIME(时间)和DATETIME(日期+时间)
文本型
最常用的是VARCHAR(可变字符串)、TEXT(文本)
SQL语言
检索语句
select
from
limlt
限制检索
distinct
去重
限定条件(where语句)
数值判断:大于(>)、小于(<)、等于(=)、不等于(
逻辑判断:AND、OR、NOT、IN()
模糊判断:like、%、_(下划线)等 like"%value%"
计算字段
字段1+字段2as'合计', 字段1-字段2as'相差', 字段1*字段2as'乘积', 字段1/字段2as'除以'
拼接字段
concat(字段1,字段2)AS'新字段名'
聚合函数
count
统计制定列不为NULL的记录行数
sum
计算指定列的数值和
max
计算指定列的最大值
min
计算指定列的最小值
avg
计算指定列的平均值
数据分组(group by)
group by
用于将具有相同值的行组合在一起,以便对每个组执行聚合函数,如求和、计数、平均值等。
数据过滤
having
having的作用是在进行数据分组后对分组结果进行过滤。
结果排序
order by ……desc
基础查询汇总
sql基础语句的书写顺序
sql基础语句的查询顺序
子查询
where
特点
1.子查询的结果是一个值或多个值;
2.子查询的结果作为父查询的比较条件;
比较运算符
< = > =
IN运算符
子查询的结果类似一个数组,父层查询使用IN函数,包含子查询的结果。
ALL运算符
ALL运算符是与比较运算符((
ANY运算符
ANY也是运算符是与比较运算符(
EXISTS运算符
EXISTS是SQL语句中用于检测子查询是否返回行的布尔运算符。EXISTS是一个布尔类型,
多表查询
合并查询(UNION)
UNION操作符用于合并两个或多个SELECT语句的结果集,并消除重复行。
多表查询是指可以从多个相互关联的表中检索数据。
分类
内连接-JOIN:和innerjoin一样; 表1join表2,返回表1和表2共同的行 左连接-LEFTJOIN:表1leftjoin表2,以表1为基础,匹配表2的相关信息;用的最多; 即使右表中没有匹配,也从左表返回所有的行 右连接-RIGHTJOIN:表1rightjoin表2,以表2为基础,匹配表1的相关信息; 即使左表中没有匹配,也从右表返回所有的行 全连接-MySQL中无直接实现全连接,间接可以实现
窗口函数
定义
窗口函数:窗口函数是一类高级的SQL函数,是在满足某种条件的记录集合上执行的特殊函数,用于执行复杂的数据分析和统计计算。 窗口的意思是将数据进行分组,每个分组即是一个窗口。
一类是聚合窗口函数,当聚合函数与over关键字同时使用时,聚合函数就是窗口函数。 另一类是专用窗口函数,他们必须与over关键字同时使用。
位置
因为窗口函数是对 where或者group by子句处理后的结果进行操作,所以窗口函数原则上只能写在select中
语句
<窗口函数> OVER ( PARTITION BY <用于分组的列名> ORDER BY <用于排序的列名>
窗口-聚合函数
在窗口中每条记录动态地应用聚合函数 SUM() 等动态计算在指定的窗口内的各种聚合函数值。
窗口-排序函数
就是进行排序操作,显示排名。常用的是 DENSE_RANK() ROW_NUMBER()
窗口-分布函数
percent_rank()函数
percent_rank()函数:百分比排序,返回当前行在组内的百分比位置,返回值范围为[0 , 1 ] .
计算
`PERCENT_RANK()` 是每行按照公式 ` (rank-1) / (总行数-1) ` 进行计算。
cume_dist() 函数
cume_dist() 函数:累计分布,返回 "当前行之前 " 与 "和当前行相等(包含当前行) " 的行数,占组内行 数的百分比。
cume_dist():是每行按照公式 `小于等于当前值的行数/分组内总行数` 进行计算。
窗口-偏移函数
首尾函数
查询指定字段的第一或最后的非NULL数据 FIRST_VALUE() LAST_VALUE()
获取最大最小值:首尾函数基于某些排序规则可以获取每个分组的最大或最小值
前后函数
查询当前行指定字段往 查询当前行指定字段往前后 行数据:LAG()行数据:LEAD()
lag/lead(字段,参数1,参数2) — 参数1:数据往前/后移动几位 — 参数2:前后移动后产生的不存在的值的默认值; 该参数可以省略,默认为null。
滑动窗口
PRECEDING关键字
PRECEDING在 SQL 中是用于窗口函数中定义窗口范围的一个关键字。 PRECEDING 通常与窗口函数一起使用,用于指定计算窗口的范围。它可以定义一个窗口,该窗口包括当前行 之前的一定数量的行。
FOLLOWING关键字
Rows 2 following 中文意思是之后的两行,跟 preceding 正好相反, preceding 是向前, following 是向后。