SQL数据库原理及其实践应用
文章平均质量分 77
从MySQL入门到实践,MySQL语法在处理数据集显得格外重要,本专栏详细的从MySQL的语法深入浅出将应用与实践融入到实际的项目之中!
王小王-123
【私信必回】CSDN博客专家、内邀精英签约作者,CSDN年度优秀创作者,华为云享专家,阿里云专家博主、腾讯云、简书、InfoQ、51CTO等开源社区创作者。左手诗情画意,右手代码人生,欢迎一起探讨技术的诗情画意!
展开
-
【1】SQL实战优化原理详解系列篇——union all、union、is null、null、delete 那些技术路上的坑
欲速则不达,学习也是一个慢慢的成长的过程,如何突破自己,那就是一个从量变到质变的过程了。有时候我们对一件事情充满渴望的时候,迫切希望可以马上就达到预期的效果,但是这种学习方式是有弊端的。短暂的激情永远也促进不了长远的发展,所以本系列文章,每一篇文章都。原创 2023-02-10 00:09:06 · 2237 阅读 · 0 评论 -
MySQL数据库程序设计套题⑤【真题截图+原理解析】
DELIMITER //CREATE FUNCTION fn_yggl(eid CHAR(4))_____________ CHAR(20)--returnsDETERMINISTICBEGIN DECLARE workage INT; DECLARE newsalary FLOAT; SELECT YEAR(CURDATE())-SUBSTRING(worktime,1,4) INTO wo...原创 2022-05-30 08:00:00 · 891 阅读 · 1 评论 -
MySQL数据库程序设计套题④【真题截图+原理解析】
DELIMITER $$CREATE TRIGGER custLevel BEFORE INSERT ON customer FOR EACH ROWBEGINDECLARE creditlim int;SET creditlim=_____;IF creditlim > 50000 THEN SET NEW.customerLevel = '1st Level ';_______(creditlim <...原创 2022-05-29 18:00:00 · 971 阅读 · 0 评论 -
MySQL数据库程序设计套题③【真题截图+原理解析】
快速排序要快一些,没有nDELIMITER $$CREATE function fn_cmax(cn CHAR(20))RETURNS intDETERMINISTICBEGIN DECLARE tmp INT; SELECT max(grade) INTO tmp FROM tb_score WHERE cname=cn; RETURN tmp;END $$DELIMITER ;DELIMITE..原创 2022-05-29 10:00:00 · 869 阅读 · 0 评论 -
MySQL数据库程序设计套题②【真题截图+原理解析】
需占据物理空间,不存储在内存;一个表可以有多个索引,但只能有一个聚簇索引,只有唯一性索引要求索引列值不能重复;索引通常可减少表扫描,从而提高检索的效率;DELIMITER $$CREATE TRIGGER tri_price BEFORE INSERT ON tb_commodity FOR EACH ROW BEGIN DECLARE tmp1 CHAR(20); DECLARE tmp2 CHAR(20); S...原创 2022-05-29 08:00:00 · 831 阅读 · 0 评论 -
MySQL数据库程序设计套题①【真题截图+原理解析】
<html><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><head><title>职工信息查询与更新页面</title><style type="text/css"><!--.STYLE1 {font-size: 15px; font-family: "幼圆...原创 2022-05-28 18:06:15 · 1306 阅读 · 0 评论 -
第一范式、第二范式、第三范式、巴斯-科德范式、第四范式、主码、候选码、码详解
数据库逻辑设计前面我们讲了第二范式,我们知道还有第三范式,那么第三范式的特点到底是什么呢?下面我们来一起看看。主码、候选码、码ps:元组理解为一张表的某一行,属性理解为一张表的某一列,属性名就是列的名字(字段)。1(码):码是可以确定一个元组的所有信息的属性名或属性名组。例如在 { a, b, c, d } 中,假设知道 a 的值就能确定 a, b, c, d 的值,假设知道 c, d 的值就可以确定 a, b, c, d 的值,那么 { a } 就是码,{ c, d } 就原创 2021-08-20 10:38:07 · 3011 阅读 · 1 评论 -
数据库技术-计算机三级考试介绍
前言随着互联网的快速普及,我们身处在信息大爆炸的环境之中,每一天都在产生海量的数据信息,有人就会疑问,这些信息到底存储在哪里?解答这个问题之前,我首先问一个很简单的问题,如果你有很多的现金,那么你会把它存在哪里?显然是银行卡或者是各大支付平台,因为有需要就把它调出来。我们的数据信息也是如此,在海量信息的不断迭代衍生的背景之下,我们的数据信息也是采取的这样的机制,把它存储在一个平台上面,而这个平台我们称之为——数据库那么问题来了,数据到底是什么?本来这个问题,对于有基础的小伙伴们来说,可能是轻车熟路,原创 2021-07-16 14:23:57 · 3088 阅读 · 5 评论 -
数据库技术-数据库范式介绍
前期我们详细的介绍了,第一范式到第四范式的具体形式,如下:数据库的逻辑设计示例:设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。要求:(1)写出R的基本函数依赖:学号,课程号 →成绩;课程号→教师姓名;教师姓名→教师地址(2)写出R的候选码:学号,课程号(3)确定范式类型:首先满足第一范式;但是不满足第二范式(因为,教师姓名非主属性部分依赖于我们的主属性里面的课程号,.原创 2021-08-21 17:09:25 · 3447 阅读 · 0 评论 -
数据库技术-数据库概念设计
数据库结构设计数据库概念设计一个设计良好的数据库,在很大程度上决定了系统的成功与否。概念设计是数据库设计的核心环节。通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。1、数据库概念设计的目标定义和描述应用领域设计的数据范围①获取信息模型②描述数据的属性特征③描述数据之间的关系④定义和描述数据的约束⑤说明数据的安全性要求⑥支持用户的各种数据处理需求⑦保证信息模型能转化成数据库的逻辑结构(即数据库模式)。2、过程:(1)明确建模目标(模型覆盖范围)原创 2021-07-21 18:38:13 · 12625 阅读 · 1 评论 -
数据库技术-数据库系统设计
系统设计如果需求分析阶段的任务是解决“干什么”的问题,那么系统设计阶段的任务是确定“怎么干”。系统设计包括:概念设计:数据库概念模型设计、系统总体设计逻辑设计:数据库逻辑结构设计、应用程序概要设计、数据库事务概要设计物理设计:数据库物理结构设计、数据库事务详细设计、应用程序详细设计实践和部署也成为DBAS的实施。需要根据设计结果建立数据库,编写应用程序,集成DBAS软硬件,组成完整的DBAS。包括建立数据库结构,数据加载,事务和应用程序的编码及测试,系统集成、测试与运行,系统部署。日常维原创 2021-07-18 11:58:36 · 2252 阅读 · 7 评论 -
数据库技术-数据库需求分析、数据流概念
目录需求分析数据流结构化分析案例-教材销购案例例题讲解每文一语需求分析1、需求分析的概念与意义需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。需求分析是在计算机系统的软件功能分配和软件设计之间起重要桥梁作用的一项软件工程活动。描述待开发的系统所要完成的功能。需求分析使系统工程师能够刻画出软件的功能和性能,指明软件和系统其他元素的接口,并建立软件必须满足的约束。需求分析的目标是深入描述软件的功能和性能,确定软件设.原创 2021-07-19 18:16:05 · 3161 阅读 · 4 评论 -
数据库技术-数据库索引
上一篇文章我们在文末介绍了数据库物理设计的索引,本文我们继续介绍数据库的物理设计索引技术分类有序索引索引文件机制,利用索引文件(索引记录组成)实现记录域(查找码,排序域)取值到记录物理地址间的映射关系。数据文件(主文件)和索引文件(索引记录或索引项的集合)是有序索引技术中的两个主体,数据文件常采用顺序文件结构。散列索引哈希(Hash)索引机制,利用散列函数实现记录域取值到记录物理地址间的直接映射关系。几种主要的有序索引(1)聚集索引(索引项与数据记录排列顺序一致,索引顺利文件)和.原创 2021-08-21 18:48:50 · 1426 阅读 · 3 评论 -
炫“库”行动——超全数据库疑难知识总结(解说+案例)建议收藏!
本文正在参与炫“库”行动-人大金仓有奖征文:快来点击活动链接参与投稿吧https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb话不多说,直接上干粮,各位C站的小伙伴,不要吃的太饱了哟,要记得消化,太撑了容易长肉肉哟!一、数据库分析与设计1、数据库应用系统的数据处理需求可以表示为事务规范。事务规范:事务规范包括了事务名称、事务描述、事务所访问的数据项、事务用户。2、改变数据库应用系统体系结构、升级DBMS版本、修改程序以适.原创 2021-09-25 16:50:15 · 2172 阅读 · 3 评论 -
⑥⭐全网首发☀️数据有道之数据库技术❤️干货大全【持续更新】❗❗❗
目录6.1 一般数据查询功能扩展考点1 使用TOP限制结果集考点2 使用CASE函数考点3 将查询结果保存到新表中6.2 查询结果的并、交、差运算考点1 并运算考点2 交运算考点3 差运算6.3 相关子查询考点1 概 述考点2 语法格式考点3 用 途6.4 其他形式的子查询考点1 替代表达式的子查询考点2 派生表6.5 其他一些查询功能考点1 开窗函数考点2 公用表表达式每文一语6.1 一般数据查询功能扩展考点1 使用TOP原创 2021-09-04 21:20:00 · 881 阅读 · 0 评论 -
⑤⭐全网首发☀️数据有道之数据库技术❤️干货大全【持续更新】❗❗❗
目录5.1 DBAS建模考点1 方 法考点2 UML5.2 DBAS业务流程与需求表达考点1 业务流程与活动图考点2 系统需求与用例图5.3 DBAS系统内部结构的表达考点1 DBAS系统内部结构分类考点2 系统结构与类图考点3 系统结构与顺序图考点4 系统结构与通信图5.4 DBAS系统微观设计的表达考点1 微观设计的表达方法考点2 对象图(在某个时间点上,系统存在所有对象的快照)考点4 时间图5.5 DBAS系统宏观设计的表达考点1 宏原创 2021-09-04 21:25:49 · 1005 阅读 · 0 评论 -
④⭐全网首发☀️数据有道之数据库技术❤️干货大全【持续更新】❗❗❗
目录4.1 软件体系结构考点1 定 义考点2 功 能考点3 分 类4.2 软件设计过程考点1 软件设计的目的考点2 软件设计的原则考点3 软件设计的分类4.3 DBAS总体设计考点1 DBAS总体设计主要内容考点2 DBAS体系结构设计考点3 DBAS软件总体设计考点4 软硬件选型与配置设计考点5 业务规则初步设计4.4 DBAS功能概要设计考点1 概 述考点2 实现方法考点3 表示层概要设计考点4 业务逻辑层概要设计考点5 数原创 2021-09-04 21:25:27 · 768 阅读 · 0 评论 -
②⭐全网首发☀️数据有道之数据库技术❤️干货大全【持续更新】❗❗❗
目录2.1 需求分析考点1 需求分析的概念与意义考点2 需求获取的方法考点3 需求分析过程2.2 需求分析方法考点1 需求分析方法概述考点2 DFD需求建模方法考点3 其他需求建模方法考点4 DFD与IDEFO比较每文一语2.1 需求分析考点1 需求分析的概念与意义(1)概念需求分析工作是通过对需求的调查、了解、观察和分析,采用已证实是有效的技术、方法或工具,对原始资料进行加工整理,得到有关目标系统需要实现的功能及其相互关系等一系列活动的集合。(2原创 2021-09-04 21:23:45 · 783 阅读 · 0 评论 -
①⭐全网首发☀️数据有道之数据库技术❤️干货大全【持续更新】❗❗❗
1.数据库应用系统开发方法1.1 数据库应用系统概述考点1 数据库系统和数据库应用系统的区别(1)数据库系统(Data Base System,DBS)主要提供应用数据的组织、存储、维护、访问等数据管理功能。(2)数据库应用系统(DataBase Application System,DBAS)不仅为用户提供数据管理功能,还根据具体应用领域业务规则,通过数据库应用程序,实现了更为复杂的数据处理功能。考点2 数据库应用系统设计与开发的定义数据库应用系统设计与开发是指根据具体需求,设计数原创 2021-09-04 14:43:44 · 2382 阅读 · 26 评论 -
MySQL与Java+Python的JDBC操作(代码+解说)
目录JDBC概述Java操作JDBC基础案例Python操作每文一语JDBC概述JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。JDBC是Java访问数据库的标准规范,可以为不同的关系型数据库提供统一访问,它由一组用Java语言编写的接口和类组成。JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进..原创 2022-05-27 13:29:21 · 1349 阅读 · 0 评论 -
MySQL的优化——提升大量数据查询效率的神器
在应用的的开发过程中,由于初期数据量小,开发人员写 SQL 语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多 SQL 语句开始逐渐显露出性能问题,对生产的影响也越来越大,此时这些有问题的 SQL 语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化.为什么这么说呢?因为在MySQL查询语句中,语法比较的通用吗,要想得到一个数据集可以使用不同的查询语句!例如我们需要查询一个数据表有多少行数据集?1、暴力搜索select count(*) from da原创 2022-05-13 08:00:00 · 2786 阅读 · 2 评论 -
MySQL的日志——每一次的操作都被记录
目录介绍错误日志二进制日志-binlog查询日志每文一语介绍在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL 也不例外。错误日志错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。该日志是默认开启的 , 默认存放目录为 mysql 的数据目录原创 2022-05-10 21:35:19 · 1489 阅读 · 0 评论 -
MySQL的锁机制,带你了解为什么解决高并发如此重要
目录锁机制概念如何增加表锁表锁的特点行锁的特点行锁模式文末资源推荐每文一语锁机制概念锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。从对数据操作的粒度分 :..原创 2022-05-03 19:53:56 · 894 阅读 · 1 评论 -
MySQL的事务——事物隔离级别
概念数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎可以使用 SHOW ENGINES 命令 可以查看Mysql的所有执行引擎我们 可以到 默认的执行引擎是innoDB 支持事务,行级锁定和外键。什么是事物?在MySQL中的事务(Tran原创 2022-04-11 00:00:00 · 876 阅读 · 0 评论 -
MySQL的存储引擎——基本概念介绍
概念数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎可以使用 SHOW ENGINES 命令 可以查看Mysql的所有执行引擎我们 可以到 默认的执行引擎是innoDB 支持事务,行级锁定和外键。MyISAM:Mysql 5.5之前的默认数据原创 2022-04-10 02:30:00 · 1054 阅读 · 3 评论 -
MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作
目录索引介绍Hash索引和B+tree索引的区别应用场景索引分类普通索引创建单列索引——普通索引(3种语法)查看数据库中的索引查看数据表中的索引删除索引唯一索引主键索引组合索引创建和删除组合索引全文索引全文索引的案例空间索引索引的优点索引的缺点创建索引的原则Hash算法二叉树平衡二叉树BTREE树每文一语索引介绍索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,..原创 2022-04-10 00:00:00 · 5306 阅读 · 2 评论 -
MySQL的触发器——自动智能化的数据维护
目录介绍触发器的特性触发器语法数据准备创建触发器触发器——执行多个触发语句New Old 操作查看触发器删除触发器总结每文一语介绍触发器,就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是触发器无需调用,当对数据库表中的数据执行DML操作时自动触发这个SQL片段的执行,无需手动条用。在MySQL中,只有执行insert,delete,update操作时才能触发触发器的执行触发器的这种特性可以协原创 2022-04-09 00:00:00 · 1134 阅读 · 0 评论 -
MySQL的存储函数与存储过程的区别
MySQL存储函数(自定义函数),函数一般用于计算和返回一个值,可以将经常需要使用的计算或功能写成一个函数。存储函数和存储过程一样,都是在数据库中定义一些 SQL 语句的集合。存储函数与存储过程的区别1.存储函数有且只有一个返回值,而存储过程可以有多个返回值,也可以没有返回值。2.存储函数只能有输入参数,而且不能带in, 而存储过程可以有多个in,out,inout参数。3.存储过程中的语句功能更强大,存储过程可以实现很复杂的业务逻辑,而函数有很多限制,如不能在函数中使用insert,u原创 2022-04-08 08:00:00 · 6579 阅读 · 5 评论 -
利用MySQL一次性创建下个月的表格——存储过程实战
创建下个月的每天对应的表user_2022_01_01、...需求描述:我们需要用某个表记录很多数据,比如记录某某用户的搜索、购买行为(注意,此处是假设用数据库保存),当每天记录较多时,如果把所有数据都记录到一张表中太庞大,需要分表,我们的要求是,每天一张表,存当天的统计数据,就要求提前生产这些表——每月月底创建下一个月每天的表!PREPARE stmt_name FROM preparable_stmtEXECUTE stmt_name [USING @var_name [, @var_n原创 2022-04-07 20:16:17 · 1844 阅读 · 0 评论 -
MySQL的存储过程——游标、句柄
游标(cursor)是用来存储查询结果集的数据类型 , 在存储过程和函数中可以使用光标对结果集进行循环的处理。光标的使用包括光标的声明、OPEN(open)、FETCH(fetch) 和 CLOSE(close).-- 声明语法declare cursor_name cursor for select_statement-- 打开语法open cursor_name-- 取值语法fetch cursor_name into var_name [, var_name] ...-- 关闭语原创 2022-04-07 01:45:00 · 1888 阅读 · 3 评论 -
MySQL的存储过程——流程控制-while、repeat、loop循环
循环是一段在程序中只出现一次,但可能会连续运行多次的代码。循环中的代码会运行特定的次数,或者是运行到特定条件成立时结束循环。循环分类:whilerepeatloop循环控制:leave 类似于 break,跳出,结束当前所在的循环iterate类似于 continue,继续,结束本次循环,继续下一次while循环【标签:】while 循环条件 do 循环体;end while【 标签】;-- 创建测试表create table user (原创 2022-04-06 21:00:10 · 3445 阅读 · 0 评论 -
MySQL的存储过程——流程控制-case
CASE是另一个条件判断的语句,类似于编程语言中的switch语法原创 2022-03-29 11:36:45 · 1503 阅读 · 0 评论 -
MySQL的存储过程——流程控制-if判断
IF语句包含多个条件判断,根据结果为TRUE、FALSE执行语句,与编程语言中的if、else if、else语法类似,其语法格式如下:-- 语法if search_condition_1 then statement_list_1 [elseif search_condition_2 then statement_list_2] ... [else statement_list_n]end if学生成绩等级存储过程-- 输入学生的成绩,来判断成绩的级别:/* s原创 2022-04-06 20:51:21 · 6940 阅读 · 0 评论 -
MySQL的存储过程——输入参数(in)、输出参数(out)、输入输出参数(inout)
目录什么是存储过程?特点语法格式局部变量用户变量系统变量查看修改全局变量查看修改会话变量传入参数输出参数修改传入参数值每文一语什么是存储过程?MySQL 5.0 版本开始支持存储过程。简单的说,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;Python里面的函数;存储过就是数据库 SQL 语言层面的代码封装与重用。特点有输入输出参数,可以声明变量,有if/else, case,w原创 2022-03-27 00:00:00 · 11657 阅读 · 2 评论 -
MySQL视图——原理详解及操作演示
视图的概念视图(view)是一个虚拟表,非真实存在,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用视图名称即可获取结果集,并可以将其当作表来使用。数据库中只存放了视图的定义,而并没有存放视图中的数据。这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。因此,视图中的数据是依赖于原来的表中的数据的。一旦表中的数据发生改变,显示在视图中的数据也会发生改变。视图的作用简化代码,可以把重复使用的查询封装成视图重复使用,同时可以使复杂的查询原创 2022-03-26 23:45:00 · 2786 阅读 · 0 评论 -
MySQL窗口函数—头尾函数-FIRST_VALUE和LAST_VALUE
用途:返回第一个(FIRST_VALUE(expr))或最后一个(LAST_VALUE(expr))expr的值应用场景:截止到当前,按照日期排序查询第1个入职和最后1个入职员工的薪资select dname, ename, hiredate, salary, first_value(salary) over(partition by dname order by hiredate) as first, last_value(salary) over(partition b原创 2022-03-24 07:00:00 · 2588 阅读 · 0 评论 -
MySQL窗口函数—前后函数-LAG和LEAD
用途:返回位于当前行的前n行(LAG(expr,n))或后n行(LEAD(expr,n))的expr的值应用场景:查询前1名同学的成绩和当前同学成绩的差值lag()-- lag的用法select dname, ename, hiredate, salary, lag(salary,1,'无') over(partition by dname order by hiredate) as last_1_time, lag(salary,2) over(partition by dn原创 2022-03-24 00:00:00 · 2502 阅读 · 0 评论 -
MySQL窗口函数—分布函数- CUME_DIST和PERCENT_RANK
CUME_DIST()用途:分组内小于、等于当前rank值的行数 / 分组内总行数应用场景:查询小于等于当前薪资(salary)的比例select dname, ename, salary, cume_dist() over(order by salary) as rn1, -- 没有partition语句 所有的数据位于一组 cume_dist() over(partition by dname order by salary) as rn2 from employee;原创 2022-03-23 17:00:00 · 2398 阅读 · 0 评论 -
MySQL开窗聚合函数——SUM(),AVG(),MIN(),MAX()
在窗口中每条记录动态地应用聚合函数(SUM()、AVG()、MAX()、MIN()、COUNT()),可以动态计算在指定的窗口内的各种聚合函数值。有的小伙伴可能会有所疑问,这和传统的聚合函数到底有什么区别呢?其实最大的区别在于,一个操作列,一个是依次操作行,最终显示出每一行,最后的效果就是呈现叠加的效果,举一个简单的例子:假如,小王每个月的薪水是不定的,第一个月是10000,第二个月是15000,第三个月是20000,第四个月是22000……,那么如果是sum()最终出现的结果就是叠加每个月的原创 2022-03-23 12:49:35 · 4744 阅读 · 3 评论 -
MySQL窗口函数——分组排序函数:number_rank(),rank(),dense_rank()
目录🎲概念🎯语法结构🎬序号函数🎨准备数据🎸ROW_NUMBER() 直接排序💄rank()相同的并列排序🍤dense_rannk()连续并列的排序👕经典面试题👚取出排名前三的数据(Top N)🏆扩展—全局操作不指定分组字段☕️每文一语🎲概念MySQL 8.0 新增窗口函数,窗口函数又被称为开窗函数,与Oracle 窗口函数类似,属于MySQL的一大特点.非聚合窗口函数是相对于聚函数来说的。聚合函数是对一组数据计算后返回单个值(即分组),非聚合函数一次只.原创 2022-03-22 12:25:44 · 5270 阅读 · 23 评论