SQL复杂查询功能介绍及示例
文章目录
- 1. 多表连接(JOIN)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `customers` 表(未查询前)
- `orders` 表(未查询前)
- INNER JOIN 示例
- LEFT JOIN 示例
- 2. 子查询(Subquery)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `orders` 表(未查询前)
- 非相关子查询 示例
- 相关子查询 示例
- 3. 聚合函数与分组(GROUP BY)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `customers` 表(未查询前)
- `orders` 表(未查询前)
- 4. 条件筛选(WHERE)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `orders` 表(未查询前)
- 5. 排序(ORDER BY)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `orders` 表(未查询前)
- 6. 组合使用
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `customers` 表(未查询前)
- `orders` 表(未查询前)
1. 多表连接(JOIN)
功能介绍
多表连接是 SQL 中用于从多个表中检索数据的重要操作。它通过指定一个或多个条件来组合来自两个或多个表的数据行。主要类型包括:
- INNER JOIN:返回两个表中满足连接条件的匹配行。
- LEFT JOIN (或 LEFT OUTER JOIN):返回左表中的所有记录,即使右表中没有匹配项。对于右表中没有匹配项的情况,结果集中对应的字段将包含 NULL。
- RIGHT JOIN (或 RIGHT OUTER JOIN):与 LEFT JOIN 相反,返回右表中的所有记录。
- FULL JOIN (或 FULL OUTER JOIN):返回两个表中的所有记录,当某一方没有匹配时,使用 NULL 填充。
- CROSS JOIN:返回两个表的笛卡尔积,即每个表的每一行都与其他表的所有行配对。
应用场景
当你需要合并来自多个表的数据时,例如获取客户的订单信息、产品分类详情等,JOIN 是不可或缺的操作。
示例查询及初始表格
customers
表(未查询前)
customer_id | customer_name |
---|---|
1 | Alice |
2 | Bob |
3 | Charlie |
4 | Dave |
5 | Eve |
orders
表(未查询前)
order_id | customer_id | order_date | total_amount |
---|---|---|---|
101 | 1 | 2024-01-15 | 100.00 |
102 | 1 | 2024-02-20 | 200.00 |
103 | 2 | 2024-03-10 | 150.00 |
104 | 3 | 2024-04-15 | 75.00 |
105 | 3 | 2024-05-22 | 180.00 |
106 | 1 | 2024-06-30 | 90.00 |
107 | 1 | 2024-11-28 | 90.00 |
108 | 2 | 2024-11-30 | 125.00 |
109 | 3 | 2024-12-01 | 75.00 |
INNER JOIN 示例
查询
SELECT customers.customer_name, orders.order_id, orders.order_date, orders.total_amount
FROM customers
INNER JOIN orders ON customers.customer_id = orders.customer_id;
模拟查询结果
customer_name | order_id | order_date | total_amount |
---|---|---|---|
Alice | 101 | 2024-01-15 | 100.00 |
Alice | 102 | 2024-02-20 | 200.00 |
Alice | 106 | 2024-06-30 | 90.00 |
Alice | 107 | 2024-11-28 | 90.00 |
Bob | 103 | 2024-03-10 | 150.00 |
Bob | 108 | 2024-11-30 | 125.00 |
Charlie | 104 | 2024-04-15 | 75.00 |
Charlie | 105 | 2024-05-22 | 180.00 |
Charlie | 109 | 2024-12-01 | 75.00 |
LEFT JOIN 示例
查询
SELECT customers.customer_name, orders.order_id, orders.order_date, orders.total_amount
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;
模拟查询结果
customer_name | order_id | order_date | total_amount |
---|---|---|---|
Alice | 101 | 2024-01-15 | 100.00 |
Alice | 102 | 2024-02-20 | 200.00 |
Alice | 106 | 2024-06-30 | 90.00 |
Alice | 107 | 2024-11-28 | 90.00 |
Bob | 103 | 2024-03-10 | 150.00 |
Bob | 108 | 2024-11-30 | 125.00 |
Charlie | 104 | 2024-04-15 | 75.00 |
Charlie | 105 | 2024-05-22 | 180.00 |
Charlie | 109 | 2024-12-01 | 75.00 |
Dave | NULL | NULL | NULL |
Eve | NULL | NULL | NULL |
2. 子查询(Subquery)
功能介绍
子查询是在另一个查询内部执行的查询,它可以出现在 SELECT、FROM、WHERE 或 HAVING 子句中。根据子查询是否依赖于外部查询的结果,可以分为相关子查询和非相关子查询。
- 非相关子查询:独立于外部查询,通常用于计算聚合值如平均数、最大值等。
- 相关子查询:依赖于外部查询提供的参数,每次外部查询处理一行时,相关子查询都会重新评估。
应用场景
子查询常用于复杂的条件筛选、查找特定条件下的最值或者进行跨表比较。
示例查询及初始表格
orders
表(未查询前)
order_id | customer_id | order_date | total_amount |
---|---|---|---|
101 | 1 | 2024-01-15 | 100.00 |
102 | 1 | 2024-02-20 | 200.00 |
103 | 2 | 2024-03-10 | 150.00 |
104 | 3 | 2024-04-15 | 75.00 |
105 | 3 | 2024-05-22 | 180.00 |
106 | 1 | 2024-06-30 | 90.00 |
107 | 1 | 2024-11-28 | 90.00 |
108 | 2 | 2024-11-30 | 125.00 |
109 | 3 | 2024-12-01 | 75.00 |
非相关子查询 示例
查询
SELECT *
FROM orders
WHERE total_amount > (SELECT AVG(total_amount) FROM orders);
模拟查询结果
order_id | customer_id | order_date | total_amount |
---|---|---|---|
102 | 1 | 2024-02-20 | 200.00 |
103 | 2 | 2024-03-10 | 150.00 |
105 | 3 | 2024-05-22 | 180.00 |
108 | 2 | 2024-11-30 | 125.00 |
相关子查询 示例
查询
SELECT o1.customer_id, o1.order_id, o1.order_date, o1.total_amount
FROM orders o1
WHERE o1.total_amount = (SELECT MAX(o2.total_amount)FROM orders o2WHERE o1.customer_id = o2.customer_id
);
模拟查询结果
customer_id | order_id | order_date | total_amount |
---|---|---|---|
1 | 102 | 2024-02-20 | 200.00 |
2 | 103 | 2024-03-10 | 150.00 |
3 | 105 | 2024-05-22 | 180.00 |
3. 聚合函数与分组(GROUP BY)
功能介绍
聚合函数如 COUNT(), SUM(), AVG(), MIN(), MAX() 等用于执行数值汇总操作。GROUP BY
子句用于将数据按照一个或多个列进行分组,然后对每个组应用聚合函数。
应用场景
当你需要对数据进行分类汇总时,例如计算每个客户的总订单金额、统计不同类别的商品数量等,GROUP BY
结合聚合函数是非常有效的工具。
示例查询及初始表格
customers
表(未查询前)
customer_id | customer_name |
---|---|
1 | Alice |
2 | Bob |
3 | Charlie |
4 | Dave |
5 | Eve |
orders
表(未查询前)
order_id | customer_id | order_date | total_amount |
---|---|---|---|
101 | 1 | 2024-01-15 | 100.00 |
102 | 1 | 2024-02-20 | 200.00 |
103 | 2 | 2024-03-10 | 150.00 |
104 | 3 | 2024-04-15 | 75.00 |
105 | 3 | 2024-05-22 | 180.00 |
106 | 1 | 2024-06-30 | 90.00 |
107 | 1 | 2024-11-28 | 90.00 |
108 | 2 | 2024-11-30 | 125.00 |
109 | 3 | 2024-12-01 | 75.00 |
查询
SELECT c.customer_name, SUM(o.total_amount) AS total_spent
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.customer_name
ORDER BY total_spent DESC;
模拟查询结果
customer_name | total_spent |
---|---|
Alice | 480.00 |
Charlie | 330.00 |
Bob | 275.00 |
4. 条件筛选(WHERE)
功能介绍
WHERE
子句用于过滤记录,只有符合条件的记录才会被包含在最终的结果集中。可以在 WHERE
中使用比较运算符(=, <, >, <=, >=, <>)、逻辑运算符(AND, OR, NOT)以及其他一些特定的运算符(LIKE, IN, BETWEEN…AND…)来进行复杂的条件组合。
应用场景
WHERE
子句广泛应用于数据过滤,比如选择特定日期范围内的记录、查找特定类别或状态的数据等。
示例查询及初始表格
orders
表(未查询前)
order_id | customer_id | order_date | total_amount |
---|---|---|---|
101 | 1 | 2024-01-15 | 100.00 |
102 | 1 | 2024-02-20 | 200.00 |
103 | 2 | 2024-03-10 | 150.00 |
104 | 3 | 2024-04-15 | 75.00 |
105 | 3 | 2024-05-22 | 180.00 |
106 | 1 | 2024-06-30 | 90.00 |
107 | 1 | 2024-11-28 | 90.00 |
108 | 2 | 2024-11-30 | 125.00 |
109 | 3 | 2024-12-01 | 75.00 |
查询
SELECT *
FROM orders
WHERE YEAR(order_date) = 2024;
模拟查询结果
order_id | customer_id | order_date | total_amount |
---|---|---|---|
101 | 1 | 2024-01-15 | 100.00 |
102 | 1 | 2024-02-20 | 200.00 |
103 | 2 | 2024-03-10 | 150.00 |
104 | 3 | 2024-04-15 | 75.00 |
105 | 3 | 2024-05-22 | 180.00 |
106 | 1 | 2024-06-30 | 90.00 |
107 | 1 | 2024-11-28 | 90.00 |
108 | 2 | 2024-11-30 | 125.00 |
109 | 3 | 2024-12-01 | 75.00 |
5. 排序(ORDER BY)
功能介绍
ORDER BY
子句用于对查询结果按照一个或多个列进行排序,默认为升序排列(ASC),可以通过指定 DESC 实现降序排列。你还可以对多个列进行排序,优先级从左到右。
应用场景
当你希望按某种顺序展示查询结果时,例如按照时间先后、金额大小等,ORDER BY
是必不可少的。
示例查询及初始表格
orders
表(未查询前)
order_id | customer_id | order_date | total_amount |
---|---|---|---|
101 | 1 | 2024-01-15 | 100.00 |
102 | 1 | 2024-02-20 | 200.00 |
103 | 2 | 2024-03-10 | 150.00 |
104 | 3 | 2024-04-15 | 75.00 |
105 | 3 | 2024-05-22 | 180.00 |
106 | 1 | 2024-06-30 | 90.00 |
107 | 1 | 2024-11-28 | 90.00 |
108 | 2 | 2024-11-30 | 125.00 |
109 | 3 | 2024-12-01 | 75.00 |
查询
SELECT *
FROM orders
ORDER BY order_date DESC;
模拟查询结果
order_id | customer_id | order_date | total_amount |
---|---|---|---|
109 | 3 | 2024-12-01 | 75.00 |
108 | 2 | 2024-11-30 | 125.00 |
107 | 1 | 2024-11-28 | 90.00 |
106 | 1 | 2024-06-30 | 90.00 |
105 | 3 | 2024-05-22 | 180.00 |
104 | 3 | 2024-04-15 | 75.00 |
103 | 2 | 2024-03-10 | 150.00 |
102 | 1 | 2024-02-20 | 200.00 |
101 | 1 | 2024-01-15 | 100.00 |
或者根据多个字段排序:
查询
SELECT *
FROM orders
ORDER BY customer_id ASC, order_date DESC;
模拟查询结果
order_id | customer_id | order_date | total_amount |
---|---|---|---|
107 | 1 | 2024-11-28 | 90.00 |
106 | 1 | 2024-06-30 | 90.00 |
102 | 1 | 2024-02-20 | 200.00 |
101 | 1 | 2024-01-15 | 100.00 |
108 | 2 | 2024-11-30 | 125.00 |
103 | 2 | 2024-03-10 | 150.00 |
109 | 3 | 2024-12-01 | 75.00 |
105 | 3 | 2024-05-22 | 180.00 |
104 | 3 | 2024-04-15 | 75.00 |
6. 组合使用
功能介绍
实际应用中,通常会结合多种 SQL 特性来构建复杂的查询。例如,你可以同时使用 JOIN、子查询、聚合函数、WHERE 过滤、HAVING 筛选以及 ORDER BY 排序,以精确控制查询的结果集。
应用场景
这种组合使用非常普遍,尤其是在需要处理复杂业务逻辑或分析大量数据时。例如,查找特定年份内每个客户的订单总数,并且只显示订单数超过一定阈值的客户,同时按订单数降序排列。
示例查询及初始表格
customers
表(未查询前)
customer_id | customer_name |
---|---|
1 | Alice |
2 | Bob |
3 | Charlie |
4 | Dave |
5 | Eve |
orders
表(未查询前)
order_id | customer_id | order_date | total_amount |
---|---|---|---|
101 | 1 | 2024-01-15 | 100.00 |
102 | 1 | 2024-02-20 | 200.00 |
103 | 2 | 2024-03-10 | 150.00 |
104 | 3 | 2024-04-15 | 75.00 |
105 | 3 | 2024-05-22 | 180.00 |
106 | 1 | 2024-06-30 | 90.00 |
107 | 1 | 2024-11-28 | 90.00 |
108 | 2 | 2024-11-30 | 125.00 |
109 | 3 | 2024-12-01 | 75.00 |
查询
SELECT c.customer_name, COUNT(o.order_id) AS order_count
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
WHERE YEAR(o.order_date) = 2024
GROUP BY c.customer_name
HAVING COUNT(o.order_id) > 5
ORDER BY order_count DESC;
模拟查询结果
customer_name | order_count |
---|---|
Alice | 4 |
示例数据中没有一个客户的订单数量超过5个,所以这里只有Alice满足条件。如果有更多的订单数据,可能会有更多的客户出现在结果中。
相关文章:
SQL复杂查询功能介绍及示例
文章目录 1. 多表连接(JOIN)功能介绍应用场景示例查询及初始表格customers 表(未查询前)orders 表(未查询前)INNER JOIN 示例LEFT JOIN 示例 2. 子查询(Subquery)功能介绍应用场景示…...
Python使用Selenium自动实现表单填写之蛇年纪念币蛇钞预约(附源码,源码有注释解析,已测试可用
Python实现纪念币预约自动填写表单 声明:本文只做技术交流,不可用代码为商业用途,文末有源码下载,已测试可用。 Part 1 配置文件改写(源码 有详细的注释说明 读取配置文件,自己组数据库,录入信息 配置文件 Part 2 主函数 每一期的xpath路径都不一样 所以需要提前去网站…...
快速掌握HTML
目录 1. HTML文件的基本结构* 前端开发工具搭建* vscode的三个插件* 编写第一个html代码* 快速生成代码框架 *html特殊字符2. 双标签2.1 标题标签 h12.2 段落标签 p2.3 格式化标签2.4 超链接标签 a2.5 表格标签2.6 列表标签1. 无序列表:ul标签( 快捷键:u…...
Linux 音频驱动实验
音频是我们最常用到的功能,音频也是 linux 和安卓的重点应用场合。I.MX6ULL 带有 SAI接口,正点原子的 I.MX6ULL ALPHA 开发板通过此接口外接了一个 WM8960 音频 DAC 芯片,本章我们就来学习一下如何使能 WM8960 驱动,并且通过 WM89…...
【分布式】Redis分布式缓存
一、什么是Redis分布式缓存 Redis分布式缓存是指使用Redis作为缓存系统来存储和管理数据的分布式方案。在分布式系统中,多台服务器共同对外提供服务,为了提高系统的性能和可扩展性,通常会引入缓存来减轻数据库的压力。Redis作为一种高性能的…...
几个Linux系统安装体验: 一些系统对比和使用记录
本文对一些系统做对比,并记录一些使用过程。 背景 本文所记录的内容,不保证绝对性,也不代表任何方的意见、意思、看法、观点。如有不适,权当笑料。 个人使用记录 centos7 centos7为笔者的主力系统,生产工具。虚拟机…...
c++数据结构算法复习基础--11--高级排序算法-快速排序-归并排序-堆排序
高阶排序 1、快速排序 冒泡排序的升级算法 每次选择一个基准数,把小于基准数的放到基准数的左边,把大于基准数的放到基准数的右边,采用 “ 分治算法 ”处理剩余元素,直到整个序列变为有序序列。 最好和平均的复杂度:…...
特朗普画像
任务内容 Description 特朗普当选了,网上流传着很多段子,也出了特朗普的头像。有人说,特朗普 的头像像一团云。所以今年马云去了美国和特朗普谈中美企业的发展。那么你能帮 忙打印出特朗普的头像吗? 抽象派认为,特朗普…...
torch如何产生3d随机变形场(DVFs)
随机变形场(Deformation Vector Fields, DVFs)是一种在图像处理和计算机视觉中常用的技术,用于生成变形后的图像或增强数据集的多样性。它通过创建一个在空间中定义的位移场,以实现图像的随机变形。以下是生成随机DVFs的主要步骤和方法: 1. 随机噪声生成 随机变形场的基…...
【PlantUML系列】用例图(三)
目录 一、组成部分 二、典型案例 一、组成部分 参与者(Actors):使用关键字 actor 后跟参与者的名称。用例(Use Cases):使用关键字 usecase 后跟用例的名称和编号(可选)。系统边界…...
PHP使用RabbitMQ(正常连接与开启SSL验证后的连接)
代码中包含了PHP在一般情况下使用方法和RabbitMQ开启了SSL验证后的使用方法(我这边消费队列是使用接口请求的方式,每次只从中取出一条) 安装amqp扩展 PHP使用RabbitMQ前,需要安装amqp扩展,之前文章中介绍了Windows环…...
距离与AoA辅助的三维测距算法(适用于四个基站的情况的单点定位),MATLAB代码
本MATLAB 代码实现了一个基于LOS/NLOS混合环境的单点定位系统,主要用于估计目标物体的单点位 文章目录 代码运行结果源代码代码功能概述主要步骤分析初始化部分 绘图与输出 代码运行结果 定位结果如下: 命令行的坐标和误差输出: 部分代码…...
计算机网络原理之HTTP与HTTPS
一、前言 为了理解HTTP,我们有必要事先了解一下TCP/IP协议簇。 通常我们使用的网络(包括互联网)是在TCP/IP协议簇的基础上运作的。而HTTP属于它内部的一个子集。 计算机与网络设备要相互通信,双方必须基于相同的方法。比如&#…...
使用did包进行多期DID分析
本例中,样例数据来自 Callaway 和 Sant’Anna (2020),研究问题是各州提高最低工资对县级青少年就业率影响。 样例数据集包含 2003 年至 2007 年 500 个县级青少年就业率的数据,其中一些州在 2004 年首次接受治疗,也有一些在 2006…...
Windows宝塔面板下IIS环境如何部署SSL证书?
Windows宝塔面板下IIS环境如何部署SSL证书? 平时服务器linux宝塔用的较多,所以linux系统宝塔,如何部署SSL证书还是比较熟悉,今天遇到一个windows的部署SSL证书,还是头一次,所以记录一下,以防忘…...
【MySQL】函数
函数 1.日期函数2.字符串函数3.数学函数4.其他函数 点赞???收藏???关注??? 你的支持是对我最大的鼓励,我们一起努力吧??? 在mysql中其实内置了很多的函数操作,这些函数可以让我们在数据统计的时候以及查表的时候进行各自各样的操作。 1.日…...
面试复盘 part 02·1202-1207 日
作品集讲述部分 分析反思 作品集讲述部分,视觉讲述部分需要更换,需要换成其他视觉相关的修改 具体话术 这是一个信息展示优化方案,用户为财务,信息区分度不足,理解成本较高,因此选择需要降低理解成本。…...
RISC-V 汇编语言
安装RISCV工具链 riscv-gnu-toolchain工具链和模拟器安装记录 - 知乎 (zhihu.com) riscv-gnu-toolchain工具链分elf-gcc、linux-gnu-gcc两个版本,以及对应的32位和64位版本。两个版本的主要区别是: riscv32-unknown-elf-gcc、riscv64-unknown-elf-gcc…...
MySQL Explain 指南
MySQL Explain 指南 idselect_typetablepartitionstypepossible_keyskeykeylenrefrowsfilteredExtra 使用 explain 执行 DML 语句时,数据不会发生变化。explain 的结果可能包含多行数据,每行对应一个表。若涉及 union 操作,MySQL 会创建临时表…...
keil报错---connection refused due to device mismatch
解决办法如下: 记得改成1 把Enable取消...
ubuntu下的chattts 学习4:Advanced Usage
源码 import ChatTTS import torch import torchaudiochat ChatTTS.Chat() chat.load(compileFalse) # Set to True for better performance ################################### # Sample a speaker from Gaussian.rand_spk chat.sample_random_speaker() print(rand_spk)…...
Ubuntu桌面突然卡住,图形界面无反应
1.可能等待几分钟,系统会自动反应过来。你可以选择等待几分钟。 2.绝大多数情况系统是不会反应过来的,这时候可以进入tty终端直接注销用户。 (1)Ubuntu有6个tty终端,按住CtrlAltF1可以进入tty1终端,(同理CtrlAltF2&a…...
毕设记录_论文阅读(动磁式音圈电机的开发与应用)_20241207
前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…...
我有一个Python项目,已经用docker打包镜像也push了,k8s怎么部署呢?
要在Kubernetes (k8s) 部署你的Python项目,你需要创建一系列的Kubernetes资源定义文件(通常是以.yaml为扩展名),这些文件描述了你希望在集群中运行的应用程序。以下是部署的基本步骤: 1. **准备Docker镜像**࿱…...
GAN(生成对抗网络)原理与目标函数
GAN(生成对抗网络)原理与目标函数 什么是 GAN? GAN 是一种生成模型,全名是 生成对抗网络 (Generative Adversarial Network)。它由两个部分组成: 生成器 (Generator, G):负责生成“假数据”。判别器 (Di…...
[Java]项目入门
这篇简单介绍一些入门的有关项目和行业的知识,并带着实现一个小项目。便于已经编程入门的各位准备进阶到下一个阶段。 先大致地介绍,一个完整的项目(不看客户端、服务端的分类)基本可以划分为三部分: 1.前端。比如你现在看到的CSDN页面就是一…...
自定义指令,全局,局部,注册
让输入框自动获取焦点(每次刷新自动获取焦点) <template><div><h3>自定义指令</h3><input ref"inp" type"text"></div> </template><script> export default {mounted(){this.$refs.inp.focus…...
存储类内存,非易失性内存)的升级换代,将有利于促进【PCIe交换芯片】市场的发展
摘要 根据 HengCe(恒策咨询)的统计及预测,2023年全球PCIe交换芯片市场销售额达到了10.05亿美元,预计2030年将达到23.81亿美元,年复合增长率(CAGR)为12.5%(2024-2030)。地…...
泷羽sec-burp(7)
免责声明 学习视频来自 B 站up主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 泷羽sec官网:http…...
OpenCV图像处理——二值化原理与代码实现(C++/Python)
概述 在 OpenCV 中,二值化(Binarization)是一种图像处理操作,它的目的是将一幅灰度图像转换为仅包含两种像素值(通常为 0 和 255,分别代表黑色和白色)的二值图像。通过设定一个合适的阈值&…...
Scala 高阶模式案例解析:从入门到实战
引言 Scala 作为一种功能强大的多范式编程语言,因其函数式编程特性而广受欢迎。其中,高阶模式(High-Order Patterns)是 Scala 函数式编程的核心概念之一,为开发者提供了解决复杂问题的优雅方式。本篇文章将全面解析 S…...
30天学会Go--第8天 GO语言 Gin Web框架学习与实践
30天学会Go–第8天 GO语言 Gin Web框架学习与实践 文章目录 30天学会Go--第8天 GO语言 Gin Web框架学习与实践前言一、Gin 的简介与安装1.1 Gin 的特点1.2 安装 Gin 二、Gin 的基础用法2.1 路由2.1.1 基本路由2.1.2 路由参数2.1.3 查询参数2.1.4 路由分组 2.2 中间件2.2.1 使用…...
用R(语言)学R-Learning R,In R
一、安装swirl包 在R语言控制面板,对话框输入以下命令: swirl 是一个非常有用的 R 包,它允许你通过交互式教程来学习 R 语言。以下是使用 swirl 包的基本步骤: 安装 swirl 包:首先,你需要在 R 中安装 swi…...
【银河麒麟操作系统运维】某平台多台虚拟机异常重启分析及处理
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 现象描述 某虚拟化平台多台虚拟机于凌晨触发异常…...
线性代数中的谱分解
一、谱分解的基本原理 谱分解(Spectral Decomposition)是线性代数中的一个重要概念,特别是在研究矩阵的特征值和特征向量时。它指的是将一个矩阵分解为其特征值和特征向量的组合,从而简化矩阵的运算和分析。谱分解通常适用于对称…...
synchronized(juc)
目录 线程一:interrupt设计模式两阶段终止模式interrupt打断park线程 二:守护线程三:线程状态五个状态(从操作系统角度来说)六种状态(从java API的角度) 共享模型之管程一:上下文切换的安全问题临界区和竟态条件 二:synchronized解决安全问题…...
HTML Input 文件上传功能全解析:从基础到优化
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
深入理解Spring事务
目录 什么是Spring事务为什么需要Spring事务Spring事务的实现 Spring事务的传播机制Spring事务的底层原理 EnableTransactionManagement --开启Spring管理事务Import(TransactionManagementConfigurationSelector.class) --提供两个beanAutoProxyRegistrar --启用AOP的功能&am…...
React学习笔记2-初识React
这篇七个点:1 环境搭建, 2 JSX, 3 组件,4 数据流,5 生命周期,6 React与DOM,7 实例 1 环境搭建 1.1 引用React CDN <!DOCTYPE html> <html lang"en"> <head><met…...
【5G】Spectrum 频谱
频谱是移动运营商的关键资产,可用的频谱是定义移动网络容量和覆盖范围的重要因素。本章讨论了5G的不同频谱选项、它们的特性以及5G早期部署阶段的预期频谱。5G是首个旨在利用大约400 MHz到90 GHz之间所有频段的移动无线系统。5G还设计用于在许可、共享和非许可频谱带…...
解决流网络中不存在s~u~t路径的节点的最大流问题
解决流网络中不存在s~u~t路径的节点的最大流问题 问题分析伪代码C代码示例解释在流网络问题中,我们通常会假设对于所有的节点v ∈ V,都存在一条从源点s到汇点t经过v的路径。然而,当这一假设不成立时,即存在某些节点u,使得不存在路径sut,我们需要证明在这种情况下,网络中…...
springboot的 nacos 配置获取不到导致启动失败及日志不输出问题
前言 问题 1. 本地启动应用时,一切正常,但是部署 docker 后,会因为获取不到 nacos 中的配置导致服务启动失败。 2.当 docker 中的服务一直重启,可能会突然某一次启动成功,之后只要不重新构建 docker 镜像&am…...
word poi-tl 图表功能增强,插入图表折线图、柱状图、饼状图
目录 问题解决问题poi-tl介绍 功能实现引入依赖功能介绍 功能实例饼图模版代码效果图 雷达图(模版同饼图)代码效果图 柱状图(模版同饼图)代码效果图 附加CustomCharts 工具类CustomChartSingleSeriesRenderData 数据对象CustomCha…...
SpringBoot 项目如何集成 JWT
SpringBoot 项目如何集成 JWT JWT JSON Web Token (JWT) 是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。 在 Oauth2 中,其实就是返回访问令牌 (access_token&#…...
如何查看电脑刷新率
Windows 系统 通过显示设置查看: 右键点击桌面空白处,选择 “显示设置”。在打开的窗口中,找到 “高级显示设置”。点击 “显示适配器属性”。在弹出的窗口中,选择 “监视器” 选项卡,即可看到当前的屏幕刷新率。使用 …...
MVC基础——市场管理系统(一)
文章目录 项目地址一、创建项目结构1.1 创建程序以及Controller1.2 创建View1.3 创建Models层,并且在Edit页面显示1.4 创建Layou模板页面1.5 创建静态文件css中间件二、Categories的CRUD2.1 使用静态仓库存储数据2.2 将Categorie的列表显示在页面中(List)2.3 创建_ViewImport.…...
面向对象中多态的含义
多态性的定义 多态(Polymorphism)是面向对象编程中的一个重要概念。它是指同一个函数名或操作符在不同的对象或情境下具有不同的行为。简单来说,就是 “多种形态”。例如,在一个图形处理程序中,有 “计算面积” 这个操…...
L2G3000-LMDeploy 量化部署实践
文章目录 LMDeploy 量化部署实践闯关任务环境配置W4A16 量化 KV cacheKV cache 量化Function call LMDeploy 量化部署实践闯关任务 环境配置 conda create -n lmdeploy python3.10 -y conda activate lmdeploy conda install pytorch2.1.2 torchvision0.16.2 torchaudio2.1.…...
ubuntu下的chattts 学习5:Example: self introduction
代码 import ChatTTS import torch import torchaudiochat ChatTTS.Chat() chat.load(compileFalse) # Set to True for better performance ################################### inputs_en """ chat T T S is a text to speech model designed for dialogu…...
IDEA的service窗口中启动类是灰色且容易消失
大家在学习Spring Cloud的过程中,随着项目的深入,会分出很多个微服务,当我们的服务数量大于等于三个的时候,IDEA会给我们的服务整理起来,类似于这样 但是当我们的微服务数量达到5个以上的时候,再启动服务的时候,服务的启动类就会变成灰色,而且还容易丢失 解决方法 我们按住…...