数据库的联合查询
数据库的联合查询
- 简介
- 为什么要使⽤联合查询
- 多表联合查询时MYSQL内部是如何进⾏计算的
- 构造练习案例数据
- 案例:⼀个完整的联合查询的过程
- 内连接
- 语法
- ⽰例
- 外连接
- 语法
- ⽰例
- ⾃连接
- 应⽤场景
- 示例
- 表连接练习
- ⼦查询
- 语法
- 单⾏⼦查询
- 多⾏⼦查询
- 多列⼦查询
- 在from⼦句中使⽤⼦查询
- 合并查询
- 创建新表并初始化数据
- Union
- Union all
- 插⼊查询结果
- 语法
- 示例
简介
为什么要使⽤联合查询
在数据设计时由于范式的要求,数据被拆分到多个表中,那么要查询⼀个条数据的完整信息,就
要从多个表中获取数据,如下图所⽰:要获取学⽣的基本信息和班级信息就要从学⽣表和班级表中获
取,这时就需要使⽤联合查询,这⾥的联合指的是多个表的组合。
多表联合查询时MYSQL内部是如何进⾏计算的
• 参与查询的所有表取笛卡尔积,结果集在临时表中
• 观察哪些记录是有效数据,根据两个表的关联关系过滤掉⽆效数据
如果联合查询表的个数越多,表中的数据量越⼤,临时表就会越⼤,所以根据实际情况确定联合查询
表的个数
构造练习案例数据
-- ----------------------------
-- Table structure for class
-- ----------------------------CREATE TABLE `class` (`class_id` bigint NOT NULL AUTO_INCREMENT,`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,PRIMARY KEY (`class_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of class
-- ----------------------------
INSERT INTO `class` VALUES (1, '计算机系2019级1班');
INSERT INTO `class` VALUES (2, '中文系2019级3班');
INSERT INTO `class` VALUES (3, '自动化2019级5班');
-- ----------------------------
-- Table structure for course
-- ----------------------------CREATE TABLE `course` (`course_id` bigint NOT NULL AUTO_INCREMENT,`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,PRIMARY KEY (`course_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES (1, 'Java');
INSERT INTO `course` VALUES (2, '中国传统文化');
INSERT INTO `course` VALUES (3, '计算机原理');
INSERT INTO `course` VALUES (4, '语文');
INSERT INTO `course` VALUES (5, '高阶数学');
INSERT INTO `course` VALUES (6, '英文');-- ----------------------------
-- Table structure for student
-- ----------------------------CREATE TABLE `student` (`student_id` bigint NOT NULL AUTO_INCREMENT,`sn` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,`mail` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`class_id` bigint NULL DEFAULT NULL,PRIMARY KEY (`student_id`) USING BTREE,UNIQUE INDEX `sn`(`sn` ASC) USING BTREE,INDEX `class_id`(`class_id` ASC) USING BTREE,CONSTRAINT `student_ibfk_1` FOREIGN KEY (`class_id`) REFERENCES `class` (`class_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES (1, '09982', '黑旋风李逵', 'xuanfeng@qq.com', 1);
INSERT INTO `student` VALUES (2, '00835', '菩提老祖', NULL, 1);
INSERT INTO `student` VALUES (3, '00391', '白素贞', NULL, 1);
INSERT INTO `student` VALUES (4, '00031', '许仙', 'xuxian@qq.com', 1);
INSERT INTO `student` VALUES (5, '00054', '不想毕业', NULL, 1);
INSERT INTO `student` VALUES (6, '51234', '好好说话', 'say@qq.com', 2);
INSERT INTO `student` VALUES (7, '83223', 'tellme', NULL, 2);
INSERT INTO `student` VALUES (8, '09527', '老外学中文', 'foreigner@qq.com', 2);-- ----------------------------
-- Table structure for score
-- ----------------------------CREATE TABLE `score` (`score_id` bigint NOT NULL AUTO_INCREMENT,`student_id` bigint NULL DEFAULT NULL,`course_id` bigint NULL DEFAULT NULL,`score` decimal(5, 2) NULL DEFAULT NULL,PRIMARY KEY (`score_id`) USING BTREE,INDEX `student_id`(`student_id` ASC) USING BTREE,INDEX `course_id`(`course_id` ASC) USING BTREE,CONSTRAINT `score_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `student` (`student_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,CONSTRAINT `score_ibfk_2` FOREIGN KEY (`course_id`) REFERENCES `course` (`course_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of score
-- ----------------------------
INSERT INTO `score` VALUES (1, 1, 1, 70.50);
INSERT INTO `score` VALUES (2, 1, 3, 98.50);
INSERT INTO `score` VALUES (3, 1, 5, 33.00);
INSERT INTO `score` VALUES (4, 1, 6, 98.00);
INSERT INTO `score` VALUES (5, 2, 1, 60.00);
INSERT INTO `score` VALUES (6, 2, 5, 59.50);
INSERT INTO `score` VALUES (7, 3, 1, 33.00);
INSERT INTO `score` VALUES (8, 3, 3, 68.00);
INSERT INTO `score` VALUES (9, 3, 5, 99.00);
INSERT INTO `score` VALUES (10, 4, 1, 67.00);
INSERT INTO `score` VALUES (11, 4, 3, 23.00);
INSERT INTO `score` VALUES (12, 4, 5, 56.00);
INSERT INTO `score` VALUES (13, 4, 6, 72.00);
INSERT INTO `score` VALUES (14, 5, 1, 81.00);
INSERT INTO `score` VALUES (15, 5, 5, 37.00);
INSERT INTO `score` VALUES (16, 6, 2, 56.00);
INSERT INTO `score` VALUES (17, 6, 4, 43.00);
INSERT INTO `score` VALUES (18, 6, 6, 79.00);
INSERT INTO `score` VALUES (19, 7, 2, 80.00);
INSERT INTO `score` VALUES (20, 7, 6, 92.00);
案例:⼀个完整的联合查询的过程
• 查询学⽣姓名为许仙的详细信息,包括学⽣个⼈信息和班级信息
- 确定参与查询的表,学⽣表和班级表
- 确定连接条件,student表中的class_id与class表中id列的值相等
class id在两张表中都存在,MYSQL分不清当前语句中的class id应该取自哪张表
可以通过表名.列名的方式来解决这个问题
# 在where子句中加入连接条件
select * from student, class where student.class_id = class.class_id;
- 加⼊查询条件
# 依题意添加where条件
select * from student,class where student.class_id = class.class_id and student.name = '许仙';
- 精减查询结果字段
select student.student_id,student.name,student.mail,class.name
from student,class
where student.class_id = class.class_id
and student.name = '许仙';
- 可以为表名指定别名
select s.student_id,s.name,s.mail,c.name
from student s,class c
where s.class_id = c.class_id
and s.name = '许仙';
内连接
语法
select 字段 from 表1 别名1, 表2 别名2 where 连接条件 and 其他条件;select 字段 from 表1 别名1 [inner] join 表2 别名2 on 连接条件 where 其他条件;
⽰例
• 查询"菩提老祖"的成绩
# 查询"菩提老祖"的成绩
select st.name,sc.score from student st, score sc where st.student_id = sc.student_id and st.name = '菩提老祖';select st.name,sc.score from student st join score sc on st.student_id = sc.student_id where st.name = '菩提老祖';
• 查询所有人的总成绩,及每个人的个⼈信息
# 查询所有人的总成绩,及每个人的个人信息
select st.student_id,st.name,st.mail,c.name,SUM(sc.score)
from student st,score sc,class c
where st.student_id = sc.student_id
and c.class_id = st.class_id
group by st.student_id;
Group by 使⽤了student.student_id进⾏分组,查询表列表中的student.name、student.mail和class.name没有出现在Group by分组中,也没有包含在聚合函数中,这是因为SQL规定在Group by分组查询时,如果查询列表中的列没有出现在GROUP BY⼦句中,但这些列的值在每个分组内部是相同的,那么它们可以出现在查询结果中。
• 查询所有同学每⻔课的成绩,及同学的个⼈信息
# 查询所有同学每门课的成绩,及同学的个人信息
select st.student_id,st.name,st.mail,cl.name,cr.name,sc.score
fromstudent st,class cl,score sc,course cr
where st.student_id = sc.student_id
and cl.class_id = st.class_id
and cr.course_id = sc.course_id
order byst.student_id;
结果集中没有"老外学中文"同学的成绩,因为score表中没有这位同学的记录
外连接
• 外连接分为左外连接、右外连接和全外连接三种类型,MySQL不⽀持全外连接。
• 左外连接:返回左表的所有记录和右表中匹配的记录。如果右表中没有匹配的记录,则结果集中对
应字段会显⽰为NULL。
• 右外连接:与左外连接相反,返回右表的所有记录和左表中匹配的记录。如果左表中没有匹配的记
录,则结果集中对应字段会显⽰为NULL。
• 全外连接:结合了左外连接和右外连接的特点,返回左右表中的所有记录。如果某⼀边表中没有匹
配的记录,则结果集中对应字段会显⽰为NULL。
语法
-- 左外连接,表1完全显⽰
select 字段名 from 表名1 left join 表名2 on 连接条件;
-- 右外连接,表2完全显⽰
select 字段 from 表名1 right join 表名2 on 连接条件;
⽰例
• 查询没有参加考试的同学信息
# 查询没有参加考试的同学信息
# 左连接以JOIN左边的表为基准,左表显示全部记录,右表中没有匹配的记录用NULL填充
select * from student left join score on student.student_id = score.student_id;
# 过滤参加了考试的同学
select st.*
from student st
left join score sc
on st.student_id = sc.student_id
where sc.score is NULL;
• 查询没有学⽣的班级
# 查询没有学生的班级
# 右连接以JOIN右边的表为基准,右表显示全部记录,左表中没有匹配的记录用NULL填充
select *
fromstudent s
right join class c
ons.class_id = c.class_id;
# 过滤有学生的班级
selectc.*
from student s
right join class c
on s.class_id = c.class_id
where student_id is NULL;
⾃连接
应⽤场景
⾃连接是⾃⼰与⾃⼰取笛卡尔积,可以把⾏转化成列,在查询的时候可以使⽤where条件对结果进⾏
过滤,或者说实现⾏与⾏之间的⽐较。在做表连接时为表起不同的别名。
# 不为表指定别名
select * from score,score;
# 指定别名
select * from score s1, score s2;
示例
• 显示所有“计算机原理”成绩比“java”成绩高的成绩信息
# 显示所有“计算机原理”成绩比“java”成绩高的成绩信息
# 首先分两步进行,先查出计算机原理和java的课程Id,分别为1和3
select * from course where name = '计算机原理' or name = 'java';
# 再查询成绩表中,计算机原理成绩比java成绩高的信息
select *
from score s1,score s2
wheres1.student_id = s2.student_id
ands1.course_id = 3 and s2.course_id = 1
and s1.score > s2.score;
# 结合在一起进行查询
select s.name,s1.*
fromscore s1,score s2,course c1,course c2,student s
where s1.student_id = s2.student_id
ands.student_id = s1.student_id
ands2.course_id = c2.course_id
and c1.name = '计算机原理' and c2.name = 'java'
and c1.course_id = s1.course_id
and s1.score > s2.score;
表连接练习
• 显示所有“计算机原理”成绩比“java”成绩高的学⽣信息和班级以及成绩信息
select s.name 姓名,c.name 班级,s1.score 计算机原理成绩, s2.score java成绩
fromscore s1,score s2,course c1,course c2,student s,class c
where s1.student_id = s2.student_id
and s1.course_id = c1.course_id
ands2.course_id = c2.course_id
and c1.name = '计算机原理' and c2.name = 'java'
and s1.score > s2.score
ands.student_id = s1.student_id
and c.class_id = s.class_id;
⼦查询
⼦查询是把⼀个SELECT语句的结果当做别⼀个SELECT语句的条件,也叫嵌套查询
语法
select * from table1 where col_name1 {= | IN} (select col_name1 from table2 where col_name2 {= | IN} [(select ...)] ...
)
单⾏⼦查询
嵌套的查询中只返回⼀⾏数据
• 示例:查询与"不想毕业"同学的同班同学
# 查询与"不想毕业"同学的同班同学
select * from student where class_id = (select class_id from student where name = '不想毕业') and name != '不想毕业';
多⾏⼦查询
嵌套的查询中返回多⾏数据,使⽤[NOT] IN关键字
• 示例:查询语文或英文课程的成绩信息
# 查询语文或英文课程的成绩信息
select * from score where course_id in (select course_id from course where name = '英文' or name = '语文');
# 使用NOT IN 可以查询除了语文和英文课程的成绩信息
select * from score where course_id not in (select course_id from course where name = '英文' or name = '语文');
多列⼦查询
单⾏⼦查询和多⾏⼦查询都只返回⼀列数据,多列⼦查询中可以返回多个列的数据,外层查询与嵌套
的内层查询的列要匹配
• 示例:查询重复录⼊的分数
# 插入重复的分数:score, student_id, course_id列重复
insert into score(score_id,student_id,course_id,score) values (21,1,1,70.5),(22,1,1,98.5),(23,2,1,60);
# 子查询中返回多个列
select score_id,student_id,course_id,score
from score
where (student_id,course_id,score)
in (select student_id,course_id,score from score group by student_id,course_id,score having count(*) > 1);
在from⼦句中使⽤⼦查询
当⼀个查询产⽣结果时,MySQL⾃动创建⼀个临时表,然后把结果集放在这个临时表中,最终返回
给⽤户,在from⼦句中也可以使⽤临时表进⾏⼦查询或表连接操作
• 示例:查询所有比“中文系2019级3班”平均分高的成绩信息
# 查询所有比“中文系2019级3班”平均分高的成绩信息
# 首先分步进行,第一步先查出中文系2019级3班的平均分
select AVG(sc.score)
from class c, score sc, student s
where c.class_id = s.class_id
and sc.student_id = s.student_id
and c.name = '中文系2019级3班'
select sc.*
from score sc,(select AVG(sc.score) scorefrom class c, score sc, student s where c.class_id = s.class_id and sc.student_id = s.student_id and c.name = '中文系2019级3班' ) tmp
where sc.score > tmp.score;
tmp 是临时表的别名
合并查询
在实际应⽤中,为了合并多个select操作返回的结果,可以使⽤集合操作符 union,union all
创建新表并初始化数据
create table student1 like student;insert into student1(sn,name,mail,class_id) values('09982','李鬼','xuanfeng@qq.com',1),('00001','测试用户',null,1),('00391','白素贞',null,1),('00031','许仙','xuxian@qq.com',1);
Union
该操作符⽤于取得两个结果集的并集。当使⽤该操作符时,会⾃动去掉结果集中的重复⾏。
select * from student union select * from student1;
Union all
该操作符⽤于取得两个结果集的并集。当使⽤该操作符时,不会去掉结果集中的重复⾏
select * from student union all select * from student1;
插⼊查询结果
语法
INSERT INTO table_name [(column [, column ...])] SELECT ...
示例
• 将student表中‘菩提老祖’和‘不想毕业’的学⽣信息复制到student1表中
insert into student1(sn,name,mail,class_id) (select s.sn,s.name,s.mail,s.class_id from student s where name = '菩提老祖' or name = '不想毕业');select * from student1;
关于数据库的联合查询先了解到这里,希望这篇文章对大家有帮助,谢谢大家的阅读!!!
相关文章:

数据库的联合查询
数据库的联合查询 简介为什么要使⽤联合查询多表联合查询时MYSQL内部是如何进⾏计算的构造练习案例数据案例:⼀个完整的联合查询的过程 内连接语法⽰例 外连接语法 ⽰例⾃连接应⽤场景示例表连接练习 ⼦查询语法单⾏⼦查询多⾏⼦查询多列⼦查询在from⼦句中使⽤⼦查…...

【人工智能】基于PyTorch的深度强化学习入门:从DQN到PPO的实现与解析
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 深度强化学习(Deep Reinforcement Learning)是一种结合深度学习和强化学习的技术,适用于解决复杂的决策问题。深度Q网络(DQN)和近端策略优化(PPO)是其中两种经典的算法,被广泛应用于游戏、机器人控…...

【深度学习】【RKNN】【C++】模型转化、环境搭建以及模型部署的详细教程
【深度学习】【RKNN】【C】模型转化、环境搭建以及模型部署的详细教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【RKNN】【C】模型转化、环境搭建以及模型部署的详细教程前言模型转换--pytorch转rknnpytorch转onnxonnx转rkn…...

CentOS环境上离线安装python3及相关包
0. 准备操作系统及安装包 准备操作系统环境: 首先安装依赖包,安装相应的编译工具 [rootbigdatahost bin]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-d…...

学习threejs,使用设置bumpMap凹凸贴图创建褶皱,实现贴图厚度效果
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshPhongMaterial高…...

React表单联动
Ant Design 1、dependencies Form.Item 可以通过 dependencies 属性,设置关联字段。当关联字段的值发生变化时,会触发校验与更新。 一种常见的场景:注册用户表单的“密码”与“确认密码”字段。“确认密码”校验依赖于“密码”字段&#x…...

408数据结构:栈、队列和数组选择题做题笔记
408数据结构 第一章 绪论 第二章 线性表 绪论、线性表选择题做题笔记 第三章 栈、队列和数组 栈、队列和数组选择题做题笔记 文章目录 408数据结构前言 一、队列二、栈和队列的应用总结 前言 本篇文章为针对王道25数据结构课后习题的栈、队列和数组的做题笔记,后续…...

sql工具!好用!爱用!
SQLynx的界面设计简洁明了,操作逻辑清晰易懂,没有复杂的图标和按钮,想对哪部分操作就在哪里点击右键,即使你是数据库小白也能轻松上手。 尽管SQLynx是一款免费的工具,但是它的功能却丝毫不逊色于其他付费产品ÿ…...

嵌入式驱动开发详解3(pinctrl和gpio子系统)
文章目录 前言pinctrl子系统pin引脚配置pinctrl驱动详解 gpio子系统gpio属性配置gpio子系统驱动gpio子系统API函数与gpio子系统相关的of函数 pinctrl和gpio子系统的使用设备树配置驱动层部分用户层部分 前言 如果不用pinctrl和gpio子系统的话,我们开发驱动时需要先…...

【C++】IO库(一):IO类
IO 库 C 不直接处理输入输出,而是通过定义一族定义在标准库当中的类型来处理IO。 8.1 IO 类 为了支持不同种类的 IO 处理操作,除了 istream 和 ostream 之外,标准库还定义了其它 IO 类型。这些类型分别定义在三个独立的头文件当中…...

uniapp介入极光推送教程 超级详细
直接按照下面教程操作 一步一步来 很快就能 完成 下面的文章非常详细 ,我就不班门弄斧了 直接上原文链接 https://blog.csdn.net/weixin_52830464/article/details/143823231...

阿里云整理(一)
阿里云整理 1. 介绍规模 2. 专业名词2.1 专有网络VPC2.2 安全组SG2.3 云服务器ECS2.4 资源组2.5 部署集2.5 web测试 1. 介绍 阿里云是一家提供云计算和人工智能服务的科技公司,成立于2009年,总部位于杭州。它为全球客户提供全方位的云服务ÿ…...

论文笔记 网络安全图谱以及溯源算法
本文提出了一种网络攻击溯源框架,以及一种网络安全知识图谱,该图由六个部分组成,G <H,V,A,E,L,S,R>。 1|11.知识图 网络知识图由六个部分组成,…...

室内定位论文速递(11.23-11.25)
多传感器姿态估计的Delta滤波器和卡尔曼滤波器设计在球形移动测绘系统中的应用 关键词 球形机器人;姿态估计;传感器融合;卡尔曼滤波器;Delta滤波器;移动测绘;LiDAR 研究问题 球形移动测绘系统中的惯性姿态估计过滤技术尚未得到充分研究。由于其内在的滚动运动,该系统…...

英伟达推出了全新的小型语言模型家族——Hymba 1.5B
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

云网络基础- TCP/IP 协议
文章目录 典型服务模式TCP/IP 协议设置和查看IPIP地址的分类:IP地址组成: 网络位主机位组成克隆:产生一台新的虚拟机win2008 典型服务模式 • C/S,Client/Server架构 – 由服务器提供资源或某种功能 – 客户机使用资源或功能 TCP/IP 协议 • TCP/IP是最广泛支持的通信协议集合…...

android 音效可视化--Visualizer
Visualizer 是使应用程序能够检索当前播放音频的一部分以进行可视化。它不是录音接口,仅返回部分低质量的音频内容。但是,为了保护某些音频数据的隐私,使用 Visualizer 需要 android.permission.RECORD_AUDIO权限。传递给构造函数的音频会话 …...

Python人工智能项目报告
一、实践概述 1、实践计划和目的 在现代社会,计算机技术已成为支撑社会发展的核心力量,渗透到生活的各个领域,应关注人类福祉,确保自己的工作成果能够造福社会,同时维护安全、健康的自然环境,设计出具有包…...

DockerFile 构建基础镜像
1.准备东西 DockerFile 文件 以及安装docker环境 文件内容如下: # 使用Alpine Linux作为基础镜像 FROM --platformlinux/amd64 nginx:1.27.2-alpine # 维护者信息 LABEL maintainer"xu_yhao163.com" ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV …...

卷积神经网络学习记录
目录 神经网络基础定义: 基本组成部分 工作流程 卷积层(卷积定义)【CONV】: 卷积层(Convolutional Layer) 特征提取:卷积层的主要作用是通过卷积核(或滤波器)运算提…...

5种常见的k8s云原生数据管理方案详解
Kubernetes(K8s)是云原生架构的核心组件,提供高效的容器编排和管理功能。在数据存储方面,K8s通过PersistentVolumes(PV)和PersistentVolumeClaims(PVC)机制实现数据持久化࿰…...

[C++]了解内置类型升级
内置类型升级 1.调用模板T时,为什么可以使用T()类型的匿名对象来传参2.内置类型被升级成为类后的使用事项 1.调用模板T时,为什么可以使用T()类型的匿名对象来传参 当我们在定义或声明一个函数时,如果想使用模板T类型的默认构造(例…...

docker镜像源配置、换源、dockerhub国内镜像最新可用加速源(仓库)
一、临时拉取方式 在docker pull后先拼接镜像源域名,后面拼接拉取的镜像名 $ docker pull dockerpull.org/continuumio/miniconda3 二、永久配置方式 vim修改/etc/docker/daemon.json,并重启docker服务。 # 创建目录 sudo mkdir -p /etc/docker# 写…...

什么是 WPF 中的依赖属性?有什么作用?
依赖属性(Dependency Property)是 WPF 的一个核心概念,它为传统的 .NET 属性提供了增强功能,支持绑定、样式、动画和默认值等功能。通过依赖属性,WPF 提供了一种灵活的数据驱动的方式来处理 UI 属性。 1. 什么是依赖属…...

241125学习日志——[CSDIY] [ByteDance] 后端训练营 [16]
CSDIY:这是一个非科班学生的努力之路,从今天开始这个系列会长期更新,(最好做到日更),我会慢慢把自己目前对CS的努力逐一上传,帮助那些和我一样有着梦想的玩家取得胜利!!&…...

如何优化 PHP 性能?
以下是一些常见的优化 PHP 性能的方法: 启用缓存,例如使用 OPcache 来加速 PHP 脚本的执行。合理使用数据库索引,优化数据库查询语句。避免不必要的计算和重复操作,尽量复用数据和结果。减少文件包含的数量和复杂度。优化代码逻辑…...

【Linux服务器】内存问题排查
概述 项目制作过程中经常出现内存问题,在该处对排查思路进行汇总,也对常见问题进行总结,以期待下一次遇到相似问题时可以快速排查,然后解决问题 排查流程总结 首先检查内存的整体情况 使用工具htop和seme快速得知系统内存使用的…...

ModuleNotFoundError: No module named ‘simple_knn‘
【报错】复现 GaussianEditor 时引用 3D Gaussian Splatting 调用simple_knn 时遇到 ModuleNotFoundError: No module named ‘simple_knn‘ 报错: 【原因】 之前安装时直接进行配置pip install simple-knn 【解决办法】 查看 requirements.txt,才发现需…...

【论文分享】采用现场测量、卫星影像和机器学习方法研究空气温度与城市发展强度之间的关系
鉴于城市热问题的严重性,城市化与空气温度之间的关系已成为全球关注的关键问题。本次我们给大家带来一篇SCI论文的全文翻译。该论文提取了常见城市规划指标,这些指标通过卫星影像来确定城市发展的强度。该论文确定的关系可以帮助在城市化和植被平衡的决策…...

Linux -初识 与基础指令1
博客主页:【夜泉_ly】 本文专栏:【Linux】 欢迎点赞👍收藏⭐关注❤️ 文章目录 📚 前言🖥️ 初识🔐 登录 root用户👥 两种用户➕ 添加用户🧑💻 登录 普通用户⚙️ 常见…...