当前位置: 首页 > news >正文

Mysql练习题

 先创建对应数据表

#先创建表
#学生表 Student
create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10));
insert into Student values('01' , '赵雷' , '1990-01-01' , '男');
insert into Student values('02' , '钱电' , '1990-12-21' , '男');
insert into Student values('03' , '孙风' , '1990-12-20' , '男');
insert into Student values('04' , '李云' , '1990-12-06' , '男');
insert into Student values('05' , '周梅' , '1991-12-01' , '女');
insert into Student values('06' , '吴兰' , '1992-01-01' , '女');
insert into Student values('07' , '郑竹' , '1989-01-01' , '女');
insert into Student values('09' , '张三' , '2017-12-20' , '女');
insert into Student values('10' , '李四' , '2017-12-25' , '女');
insert into Student values('11' , '李四' , '2012-06-06' , '女');
insert into Student values('12' , '赵六' , '2013-06-13' , '女');
insert into Student values('13' , '孙七' , '2014-06-01' , '女');#科目表 Course
create table Course(CId varchar(10),Cname nvarchar(10),TId varchar(10));
insert into Course values('01' , '语文' , '02');
insert into Course values('02' , '数学' , '01');
insert into Course values('03' , '英语' , '03');#教师表 Teacher
create table Teacher(TId varchar(10),Tname varchar(10));
insert into Teacher values('01' , '张三');
insert into Teacher values('02' , '李四');
insert into Teacher values('03' , '王五');#成绩表 SC
create table SC(SId varchar(10),CId varchar(10),score decimal(18,1));
insert into SC values('01' , '01' , 80);
insert into SC values('01' , '02' , 90);
insert into SC values('01' , '03' , 99);
insert into SC values('02' , '01' , 70);
insert into SC values('02' , '02' , 60);
insert into SC values('02' , '03' , 80);
insert into SC values('03' , '01' , 80);
insert into SC values('03' , '02' , 80);
insert into SC values('03' , '03' , 80);
insert into SC values('04' , '01' , 50);
insert into SC values('04' , '02' , 30);
insert into SC values('04' , '03' , 20);
insert into SC values('05' , '01' , 76);
insert into SC values('05' , '02' , 87);
insert into SC values('06' , '01' , 31);
insert into SC values('06' , '03' , 34);
insert into SC values('07' , '02' , 89);
insert into SC values('07' , '03' , 98);

 1. 查询"01"课程比"02"课程成绩高的学生的信息及课程分数
 使用子查询分别获取01和02课程的成绩,然后进行比较,最后与Student表进行JOIN获取学生信息
SELECT * 
FROM Student 
RIGHT JOIN (
    SELECT t1.SId, class1, class2 
    FROM (
        SELECT SId, score AS class1 FROM sc WHERE sc.CId = '01'
    ) AS t1, 
    (
        SELECT SId, score AS class2 FROM sc WHERE sc.CId = '02'
    ) AS t2
    WHERE t1.SId = t2.SId AND t1.class1 > t2.class2
) r 
ON Student.SId = r.SId;

 1.1 查询同时存在"01"课程和"02"课程的情况
 使用INNER JOIN获取同时选修了01和02课程的学生
SELECT * 
FROM (
    SELECT * FROM sc WHERE sc.CId = '01'
) AS t1, 
(
    SELECT * FROM sc WHERE sc.CId = '02'
) AS t2
WHERE t1.SId = t2.SId;

 1.2 查询存在"01"课程但可能不存在"02"课程的情况
 使用LEFT JOIN保留01课程的所有学生,02课程不存在时显示为NULL
SELECT * 
FROM (
    SELECT * FROM sc WHERE sc.CId = '01'
) AS t1
LEFT JOIN 
(
    SELECT * FROM sc WHERE sc.CId = '02'
) AS t2
ON t1.SId = t2.SId;

 1.3 查询不存在"01"课程但存在"02"课程的情况
 使用NOT IN排除选修了01课程的学生
SELECT * FROM sc
WHERE sc.SId NOT IN (
    SELECT SId FROM sc 
    WHERE sc.CId = '01'

AND sc.CId = '02';

 2. 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩
 使用GROUP BY和HAVING计算每个学生的平均成绩,并筛选出大于60分的学生
SELECT Student.SId, Student.Sname, r.ss 
FROM Student 
RIGHT JOIN (
    SELECT SId, AVG(score) AS ss FROM sc
    GROUP BY SId
    HAVING AVG(score) >= 60
) r 
ON Student.SId = r.SId;

 3. 查询在SC表存在成绩的学生信息
 使用DISTINCT和JOIN获取在SC表中有成绩的学生信息
SELECT DISTINCT student.*
FROM student, sc
WHERE student.SId = sc.SId;

 4. 查询所有同学的学生编号、学生姓名、选课总数、所有课程的成绩总和
 使用LEFT JOIN确保显示所有学生,即使他们没有选课
SELECT s.sid, s.sname, r.coursenumber, r.scoresum
FROM (
    SELECT student.sid, student.sname 
    FROM student
) s 
LEFT JOIN 
(
    SELECT sc.sid, SUM(sc.score) AS scoresum, COUNT(sc.cid) AS coursenumber
    FROM sc 
    GROUP BY sc.sid
) r 
ON s.sid = r.sid;

 4.2 查有成绩的学生信息
 使用EXISTS和IN关键字查询有成绩的学生
 EXISTS用于检查子查询是否至少会返回一行数据
 IN适合小表,EXISTS适合大表
SELECT * FROM student 
WHERE EXISTS (SELECT sc.sid FROM sc WHERE student.sid = sc.sid);

 5. 查询「李」姓老师的数量
 使用LIKE匹配姓氏为'李'的老师
SELECT COUNT(*)
FROM teacher
WHERE tname LIKE '李%';

 6. 查询学过「张三」老师授课的同学的信息
 多表JOIN查询张三老师授课的学生信息
SELECT student.* 
FROM student, teacher, course, sc
WHERE 
    student.sid = sc.sid 
    AND course.cid = sc.cid 
    AND course.tid = teacher.tid 
    AND tname = '张三';

 7. 查询没有学全所有课程的同学的信息
 使用NOT IN排除选了所有课程的学生
SELECT * FROM student
WHERE student.sid NOT IN (
    SELECT sc.sid FROM sc
    GROUP BY sc.sid
    HAVING COUNT(sc.cid) = (SELECT COUNT(cid) FROM course)
);

 8. 查询至少有一门课与学号为"01"的同学所学相同的同学的信息
 使用IN子查询查找与01号同学有相同课程的学生
SELECT * FROM student 
WHERE student.sid IN (
    SELECT sc.sid FROM sc 
    WHERE sc.cid IN (
        SELECT sc.cid FROM sc 
        WHERE sc.sid = '01'
    )
);

 9. 查询和"01"号的同学学习的课程完全相同的其他同学的信息
SELECT s.*
FROM student s
WHERE s.sid IN (
    SELECT sc.sid
    FROM sc
    WHERE sc.cid IN (
        SELECT sc.cid
        FROM sc
        WHERE sc.sid = '01'
    )
    GROUP BY sc.sid
    HAVING COUNT(DISTINCT sc.cid) = (
        SELECT COUNT(DISTINCT cid)
        FROM sc
        WHERE sid = '01'
    )
) AND s.sid != '01';

 10. 查询没学过"张三"老师讲授的任一门课程的学生姓名
 使用NOT IN排除学过张三老师课程的学生
SELECT * FROM student
WHERE student.sid NOT IN (
    SELECT sc.sid FROM sc WHERE sc.cid IN (
        SELECT course.cid FROM course WHERE course.tid IN (
            SELECT teacher.tid FROM teacher WHERE tname = "张三"
        )
    )
);

 11. 查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩
 使用子查询统计不及格课程数量,并计算平均成绩
SELECT student.SId, student.Sname, b.avg
FROM student 
RIGHT JOIN (
    SELECT sid, AVG(score) AS avg 
    FROM sc
    WHERE sid IN (
        SELECT sid FROM sc 
        WHERE score < 60 
        GROUP BY sid 
        HAVING COUNT(score) > 1
    )
    GROUP BY sid
) b ON student.sid = b.sid;

 12. 检索"01"课程分数小于60,按分数降序排列的学生信息
 使用ORDER BY按分数降序排列
SELECT student.*, sc.score 
FROM student, sc
WHERE student.sid = sc.sid
AND sc.score < 60
AND cid = "01"
ORDER BY sc.score DESC;

 13. 按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩
 使用LEFT JOIN添加平均成绩,并按平均成绩排序
SELECT *  
FROM sc 
LEFT JOIN (
    SELECT sid, AVG(score) AS avscore FROM sc 
    GROUP BY sid
) r 
ON sc.sid = r.sid
ORDER BY avscore DESC;

 14. 查询各科成绩最高分、最低分和平均分
 使用聚合函数和CASE语句计算各统计值
SELECT 
    sc.CId,
    MAX(sc.score) AS 最高分,
    MIN(sc.score) AS 最低分,
    AVG(sc.score) AS 平均分,
    COUNT(*) AS 选修人数,
    SUM(CASE WHEN sc.score >= 60 THEN 1 ELSE 0 END) / COUNT(*) AS 及格率,
    SUM(CASE WHEN sc.score >= 70 AND sc.score < 80 THEN 1 ELSE 0 END) / COUNT(*) AS 中等率,
    SUM(CASE WHEN sc.score >= 80 AND sc.score < 90 THEN 1 ELSE 0 END) / COUNT(*) AS 优良率,
    SUM(CASE WHEN sc.score >= 90 THEN 1 ELSE 0 END) / COUNT(*) AS 优秀率 
FROM sc
GROUP BY sc.CId
ORDER BY COUNT(*) DESC, sc.CId ASC;

 15. 按各科成绩进行排序,并显示排名
 使用自连接计算每门课程的成绩排名
SELECT a.cid, a.sid, a.score, COUNT(b.score) + 1 AS rank
FROM sc AS a 
LEFT JOIN sc AS b 
ON a.score < b.score AND a.cid = b.cid
GROUP BY a.cid, a.sid, a.score
ORDER BY a.cid, rank ASC;

 16. 查询学生的总成绩,并进行排名
 使用变量计算总成绩排名
SET @crank = 0;
SELECT q.sid, total, @crank := @crank + 1 AS rank 
FROM (
    SELECT sc.sid, SUM(sc.score) AS total FROM sc
    GROUP BY sc.sid
    ORDER BY total DESC
) q;

 17. 统计各科成绩各分数段人数
 使用CASE WHEN返回1后用SUM统计各分数段人数
SELECT course.cname, course.cid,
SUM(CASE WHEN sc.score <= 100 AND sc.score > 85 THEN 1 ELSE 0 END) AS "[10085]",
SUM(CASE WHEN sc.score <= 85 AND sc.score > 70 THEN 1 ELSE 0 END) AS "[8570]",
SUM(CASE WHEN sc.score <= 70 AND sc.score > 60 THEN 1 ELSE 0 END) AS "[7060]",
SUM(CASE WHEN sc.score <= 60 AND sc.score > 0 THEN 1 ELSE 0 END) AS "[600]"
FROM sc LEFT JOIN course
ON sc.cid = course.cid
GROUP BY sc.cid;

 18. 查询各科成绩前三名的记录
 使用自连接计算每门课程的成绩排名,筛选出排名前三的记录
SELECT a.sid, a.cid, a.score 
FROM sc AS a 
LEFT JOIN sc AS b 
ON a.cid = b.cid AND a.score < b.score
GROUP BY a.cid, a.sid
HAVING COUNT(b.cid) < 3
ORDER BY a.cid;

 19. 查询每门课程被选修的学生数
 使用GROUP BY统计每门课程的学生数
SELECT cid, COUNT(sid) FROM sc 
GROUP BY cid;

 20. 查询出只选修两门课程的学生学号和姓名
 使用HAVING子句筛选出选修两门课程的学生
SELECT student.sid, student.sname 
FROM student
WHERE student.sid IN (
    SELECT sc.sid FROM sc
    GROUP BY sc.sid
    HAVING COUNT(sc.cid) = 2
);

 21. 查询男生、女生人数
 使用GROUP BY统计男生和女生的人数
SELECT ssex, COUNT(*) FROM student
GROUP BY ssex;

 22. 查询名字中含有「风」字的学生信息
 使用LIKE匹配名字中包含「风」字的学生
SELECT *
FROM student 
WHERE student.Sname LIKE '%风%';

 23. 查询同名学生名单,并统计同名人数
 使用GROUP BY和HAVING统计同名学生
SELECT sname, COUNT(*) 
FROM student
GROUP BY sname
HAVING COUNT(*) > 1;

 24. 查询1990年出生的学生名单
 使用YEAR函数提取出生年份
SELECT *
FROM student
WHERE YEAR(student.Sage) = 1990;

 25. 查询每门课程的平均成绩,结果按平均成绩降序排列
 使用GROUP BY和ORDER BY计算每门课程的平均成绩
SELECT sc.cid, course.cname, AVG(SC.SCORE) AS average 
FROM sc, course
WHERE sc.cid = course.cid
GROUP BY sc.cid 
ORDER BY average DESC, cid ASC;

 26. 查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩
 使用HAVING子句筛选平均成绩大于85的学生
SELECT student.sid, student.sname, AVG(sc.score) AS aver 
FROM student, sc
WHERE student.sid = sc.sid
GROUP BY sc.sid
HAVING aver > 85;

 27. 查询课程名称为「数学」,且分数低于60的学生姓名和分数
 多表JOIN查询数学课程分数低于60的学生
SELECT student.sname, sc.score 
FROM student, sc, course
WHERE student.sid = sc.sid
AND course.cid = sc.cid
AND course.cname = "数学"
AND sc.score < 60;

 28. 查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况)
 使用LEFT JOIN确保显示所有学生
SELECT student.sname, cid, score 
FROM student
LEFT JOIN sc
ON student.sid = sc.sid;

 29. 查询任何一门课程成绩在70分以上的姓名、课程名称和分数
 多表JOIN查询成绩在70分以上的学生信息
SELECT student.sname, course.cname, sc.score 
FROM student, course, sc
WHERE sc.score > 70
AND student.sid = sc.sid
AND sc.cid = course.cid;

 30. 查询存在不及格的课程
 使用DISTINCT获取不及格的课程
SELECT DISTINCT sc.CId
FROM sc
WHERE sc.score < 60;

 31. 查询课程编号为01且课程成绩在80分及以上的学生的学号和姓名
 查询01号课程成绩在80分及以上的学生
SELECT student.sid, student.sname 
FROM student, sc
WHERE cid = "01"
AND score >= 80
AND student.sid = sc.sid;

 32. 求每门课程的学生人数
 使用GROUP BY统计每门课程的学生人数
SELECT sc.CId, COUNT(*) AS 学生人数
FROM sc
GROUP BY sc.CId;

 33. 成绩不重复,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩
 使用ORDER BY和LIMIT获取最高分的学生
SELECT student.*, sc.score, sc.cid 
FROM student, teacher, course, sc 
WHERE teacher.tid = course.tid
AND sc.sid = student.sid
AND sc.cid = course.cid
AND teacher.tname = "张三"
ORDER BY score DESC
LIMIT 1;

 34. 成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩
 使用子查询获取最高分,然后筛选出所有达到该分数的学生
SELECT student.*, sc.score, sc.cid 
FROM student, teacher, course, sc 
WHERE teacher.tid = course.tid
AND sc.sid = student.sid
AND sc.cid = course.cid
AND teacher.tname = "张三"
AND sc.score = (
    SELECT MAX(sc.score) 
    FROM sc, student, teacher, course
    WHERE teacher.tid = course.tid
    AND sc.sid = student.sid
    AND sc.cid = course.cid
    AND teacher.tname = "张三"
);

 35. 查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩
 使用INNER JOIN查找不同课程中成绩相同的学生
SELECT a.cid, a.sid, a.score 
FROM sc AS a
INNER JOIN sc AS b
ON a.sid = b.sid
AND a.cid != b.cid
AND a.score = b.score
GROUP BY a.cid, a.sid;

 36. 查询每门课程成绩最好的前两名
 使用自连接计算每门课程的成绩排名,筛选出排名前两名的记录
SELECT a.sid, a.cid, a.score 
FROM sc AS a 
LEFT JOIN sc AS b 
ON a.cid = b.cid AND a.score < b.score
GROUP BY a.cid, a.sid
HAVING COUNT(b.cid) < 2
ORDER BY a.cid;

 37. 统计每门课程的学生选修人数(超过5人的课程才统计)
 使用HAVING子句筛选出选修人数超过5人的课程
SELECT sc.cid, COUNT(sid) AS cc 
FROM sc
GROUP BY cid
HAVING cc > 5;

 38. 检索至少选修两门课程的学生学号
 使用HAVING子句筛选出选修两门及以上课程的学生
SELECT sid, COUNT(cid) AS cc 
FROM sc
GROUP BY sid
HAVING cc >= 2;

 39. 查询选修了全部课程的学生信息
 使用GROUP BY和HAVING确保学生选修了所有课程
SELECT student.*
FROM sc, student 
WHERE sc.SId = student.SId
GROUP BY sc.SId
HAVING COUNT(*) = (SELECT COUNT(*) FROM course);

 40. 查询各学生的年龄,只按年份来算
 使用TIMESTAMPDIFF计算年龄
SELECT student.SId AS 学生编号, student.Sname AS 学生姓名,
TIMESTAMPDIFF(YEAR, student.Sage, CURDATE()) AS 学生年龄
FROM student;

 41. 查询本周过生日的学生
 使用WEEKOFYEAR函数匹配本周生日
SELECT *
FROM student 
WHERE WEEKOFYEAR(student.Sage) = WEEKOFYEAR(CURDATE());

 42. 查询下周过生日的学生
 使用WEEKOFYEAR函数匹配下周生日
SELECT *
FROM student 
WHERE WEEKOFYEAR(student.Sage) = WEEKOFYEAR(CURDATE()) + 1;

 43. 查询本月过生日的学生
 使用MONTH函数匹配本月生日
SELECT *
FROM student 
WHERE MONTH(student.Sage) = MONTH(CURDATE());

 44. 查询下月过生日的学生
 使用MONTH函数匹配下月生日
SELECT *
FROM student 
WHERE MONTH(student.Sage) = MONTH(CURDATE()) + 1;
 

相关文章:

Mysql练习题

先创建对应数据表 #先创建表 #学生表 Student create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10)); insert into Student values(01 , 赵雷 , 1990-01-01 , 男); insert into Student values(02 , 钱电 , 1990-12-21 , 男); insert int…...

torch不能使用cuda的解决方案

遇到了这样的报错&#xff0c;说明 torch不能使用cuda 反思 我频繁地尝试安装不同的 nvdia 驱动&#xff0c;浪费了很多时间。因为我的错误地认为nvidia会自带cuda&#xff0c;其实cuda需要单独安装。 还有我的torch是cpu版本的&#xff0c;即使nvidia cuda安装了&#xff0…...

Python 循环全解析:从语法到实战的进阶之路

一、问答题 &#xff08;1&#xff09;下面的循环体被重复了多少次?每次循环的输出结果是什么? i1 while i < 10:if i % 2 0:print(i)死循环&#xff0c;没有输出结果 i1 while i < 10:if i % 2 0:print(i)i l死循环&#xff0c;没有输出结果 i 1 while i< 10…...

代码随想录算法训练营--打卡day3

复习&#xff1a;标注感叹号的需要在电脑上重新做几遍 一.两两交换链表中的节点&#xff01;&#xff01; 1.题目链接 24. 两两交换链表中的节点 - 力扣&#xff08;LeetCode&#xff09; 2.思路 画图 3.代码 class Solution {public ListNode swapPairs(ListNode head) …...

ubuntu 安装mysql

在 Ubuntu 系统中安装 MySQL 的步骤如下&#xff1a; 步骤 1&#xff1a;更新软件包列表 sudo apt update步骤 2&#xff1a;安装 MySQL 服务器 sudo apt install mysql-server -yUbuntu 22.04/20.04 默认安装 MySQL 8.0&#xff0c;早期版本可能默认使用 MariaDB。 如果需要…...

用Python实现资本资产定价模型(CAPM)

使用 Python 计算资本资产定价模型&#xff08;CAPM&#xff09;并获取贝塔系数&#xff08;β&#xff09;。 步骤 1&#xff1a;导入必要的库 import pandas as pd import yfinance as yf import statsmodels.api as sm import matplotlib.pyplot as plt 步骤 2&#xff1…...

Conda配置Python环境

1. 安装 Conda 选择发行版&#xff1a; Anaconda&#xff1a;适合需要预装大量科学计算包的用户&#xff08;体积较大&#xff09;。 Miniconda&#xff1a;轻量版&#xff0c;仅包含 Conda 和 Python&#xff08;推荐自行安装所需包&#xff09;。 验证安装&#xff1a; co…...

Redisson延迟队列实战:分布式系统中的“时间管理者“

目录 引言&#xff1a;延迟队列的魅力与应用 什么是Redisson延迟队列&#xff1f; 技术原理与工作机制 应用场景 环境准备&#xff1a;搭建基础 Maven依赖配置 Redisson客户端配置 延迟队列实现&#xff1a;核心代码 工作原理深度解析 数据模型与存储结构 元素流转过…...

国产化适配 - YashanDB、达梦数据库与MySQL 的兼容性及技术选型对比分析

根据知识库信息&#xff0c;以下是 YashanDB、达梦数据库与MySQL 的兼容性及技术选型对比分析&#xff1a; 1. YashanDB 与 MySQL 兼容性 协议与语法兼容 &#xff1a; YashanDB 100%兼容 MySQL 5.7协议 的常用命令&#xff08;如 SELECT、INSERT&#xff09;&#xff0c;但…...

从0开始——在PlatformIO下开展STM32单片机的HAL库函数编程指南

目录 前言 编写时钟初始化 实现Systicks_Handler&#xff0c;完成HAL库的时基更新 编写驱动测试 前言 笔者最开始的尝试是在2025年的寒假&#xff0c;准备向PlatformIO迁移HAL库&#xff0c;注意&#xff0c;截止到目前&#xff0c;PlatformIO对HAL库的支持已经非常完善了。…...

Python小练习系列 Vol.9:杨辉三角生成(数组构建 + 数学组合)

&#x1f9e0; Python小练习系列 Vol.9&#xff1a;杨辉三角生成&#xff08;数组构建 数学组合&#xff09; &#x1f53a; 本期我们带来一道简洁却优雅的经典练习 —— 生成杨辉三角&#xff0c;是训练数组操作与组合思想的绝佳题目&#xff01; &#x1f9e9; 一、题目描述…...

Webview详解(下)

第三阶段&#xff1a;性能优化 加载速度优化 缓存策略 缓存策略可以显著减少网络请求&#xff0c;提升页面加载速度。常用的缓存策略包括 HTTP 缓存和本地资源预加载。 1. HTTP 缓存 HTTP 缓存利用 HTTP 协议中的缓存机制&#xff08;如 Cache-Control、ETag 等&#xff0…...

scss基础用法

SCSS&#xff08;Sassy CSS&#xff09;是Sass的增强版本&#xff0c;作为CSS的预处理器&#xff0c;它提供了多种功能来提高代码的可维护性和效率。以下是SCSS的基础用法&#xff1a; 变量&#xff08;Variables&#xff09; 用于存储常用的值&#xff0c;如颜色、字体大小等。…...

知能行每日综测

题目1 自己的做法 答案 题目2 自己的 答案 题目3 注意&#xff1a;这道做错了&#xff0c;你们可以看看我哪里错了 题目4 我的 答案 题目5 没思路&#xff0c;不会做 已更改 题目6 答案 第七题 我的 不会 现在补综测最后一个...

c++ vs和g++下的string结构

话不多说进入正题.注:下述结构是在32位平台下进行验证&#xff0c;32位平台下指针占4个字节. vs下string的结构 string总共占28个字节&#xff0c;内部结构稍微复杂一点&#xff0c;先是有一个联合体&#xff0c;联合体用来定义 string中字符串的存储空间&#xff1a;(联合体的…...

海量数据处理

1.海量数据处理问题 给两个文件&#xff0c;分别有100亿个query&#xff0c;只有1G内存&#xff0c;如何找到两个文件交集&#xff1f; 解决方案一&#xff1a; 可以先用布隆过滤器&#xff0c;一个文件的query放进布隆过滤器&#xff0c;另一个文件依次查找&#xff0c;在的…...

洛谷题单1-P5706 【深基2.例8】再分肥宅水-python-流程图重构

题目描述 现在有 t t t 毫升肥宅快乐水&#xff0c;要均分给 n n n 名同学。每名同学需要 2 2 2 个杯子。现在想知道每名同学可以获得多少毫升饮料&#xff08;严格精确到小数点后 3 3 3 位&#xff09;&#xff0c;以及一共需要多少个杯子。 输入格式 输入一个实数 t …...

【HarmonyOS 5】初学者如何高效的学习鸿蒙?

【HarmonyOS 5】初学者如何高效的学习鸿蒙&#xff1f; 一、前言 在全球科技格局风云变幻的当下&#xff0c;谷歌安卓系统的管控逐步收紧&#xff0c;加之国际形势愈发复杂&#xff0c;打造中国人自主的操作系统&#xff0c;已成为时代发展的必然要求&#xff0c;这不仅是突破…...

Java NIO之FileChannel 详解

关键点说明 文件打开选项&#xff1a; StandardOpenOption.CREATE - 文件不存在时创建 StandardOpenOption.READ/WRITE - 读写权限 StandardOpenOption.APPEND - 追加模式 StandardOpenOption.TRUNCATE_EXISTING - 清空已存在文件 缓冲区操作&#xff1a; ByteBuffer.wrap…...

数据可视化(matplotlib)-------图表样式美化

目录 一、图表样式概述 &#xff08;一&#xff09;、默认图表样式 &#xff08;二&#xff09;、图表样式修改 1、局部修改 2、全局修改 二、使用颜色 &#xff08;一&#xff09;、使用基础颜色 1、单词缩写或单词表示的颜色 2、十六进制/HTML模式表示的颜色 3、RGB…...

Go 语言中,关于客户端初始化的最佳实践

在 Go 语言中&#xff0c;关于客户端初始化的最佳实践确实需要注意以下几点&#xff1a; 全局单例模式是推荐做法&#xff0c;尤其对于需要保持长连接或需要复用资源的客户端&#xff08;如数据库、Redis、HTTP 客户端等&#xff09;并发安全是必须保证的&#xff0c;需要确保…...

MyBatis的第一天笔记

1. MyBatis 概述 1.1 什么是框架 框架是对通用代码的封装&#xff0c;提前写好了一堆接口和类&#xff0c;可以直接引入使用框架一般以jar包形式存在Java常用框架&#xff1a;SSM三大框架&#xff08;Spring SpringMVC MyBatis&#xff09;、SpringBoot、SpringCloud等 1.…...

区块链赋能,为木材货场 “智” 造未来

区块链赋能&#xff0c;为木材货场 “智” 造未来 在当今数字化浪潮席卷的时代&#xff0c;软件开发公司不断探索创新&#xff0c;为各行业带来高效、智能的解决方案。今天&#xff0c;让我们聚焦于一家软件开发公司的杰出成果 —— 区块链木材货场服务平台&#xff0c;深入了…...

IvorySQL:兼容Oracle数据库的开源PostgreSQL

今天给大家介绍一款基于 PostgreSQL 开发、兼容 Oracle 数据库的国产开源关系型数据库管理系统&#xff1a;IvorySQL。 IvorySQL 由商瀚高软件提供支持&#xff0c;主要的功能特性包括&#xff1a; 完全兼容 PostgreSQL&#xff1a;IvorySQL 基于 PostgreSQL 内核开发&#xf…...

Python 序列构成的数组(切片)

切片 在 Python 里&#xff0c;像列表&#xff08;list&#xff09;、元组&#xff08;tuple&#xff09;和字符串&#xff08;str&#xff09;这类 序列类型都支持切片操作&#xff0c;但是实际上切片操作比人们所想象的要强大 很多。 这一节主要讨论的是这些高级切片形式的…...

Pre-flash和Main flash

在相机拍照过程中&#xff0c;Pre-flash&#xff08;预闪光&#xff09; 和 Main flash&#xff08;主闪光&#xff09; 是常见的两种闪光灯使用模式&#xff0c;通常用于提高低光环境下的拍摄质量&#xff0c;尤其在自动曝光&#xff08;AE&#xff09;和自动对焦&#xff08;…...

【区块链安全 | 第十篇】智能合约概述

部分内容与前文互补。 文章目录 一个简单的智能合约子货币&#xff08;Subcurrency&#xff09;示例区块链基础交易区块预编译合约 一个简单的智能合约 我们从一个基础示例开始&#xff0c;该示例用于设置变量的值&#xff0c;并允许其他合约访问它。 // SPDX-License-Identi…...

判断质数及其优化方法

判断质数&#xff08;素数&#xff09;及其优化方法 质数是指 大于1的自然数&#xff0c;且 只有1和它本身两个正约数。以下是几种判断方法及其优化策略。 目录 基础方法&#xff08;试除法&#xff09;优化1&#xff1a;仅检查到√n优化2&#xff1a;跳过偶数优化3&#xff…...

【源码阅读/Vue Flask前后端】简历数据查询功能

目录 一、Flask后端部分modelServiceroute 二、Vue前端部分index.js main.vue功能界面templatescriptstyle 一般就是三个层面&#xff0c;model层面用来建立数据库的字段&#xff0c;service用来对model进行操作&#xff0c;写一些数据库操作的代码&#xff0c;route就是具体的…...

R语言对偏态换数据进行转换(对数、平方根、立方根)

我们进行研究的时候经常会遇见偏态数据&#xff0c;数据转换是统计分析和数据预处理中的一项基本技术。使用 R 时&#xff0c;了解如何正确转换数据有助于满足统计假设、标准化分布并提高分析的准确性。在 R 中实现和可视化最常见的数据转换&#xff1a;对数、平方根和立方根转…...

链表(C++)

这是本人第二次学习链表&#xff0c;第一次学习链表是在大一上的C语言课上&#xff0c;首次接触&#xff0c;感到有些难&#xff1b;第二次是在大一下学习数据结构时&#xff08;就是这次&#xff09;&#xff0c;使用C再次理解链表。同时&#xff0c;这也是开启数据结构学习写…...

算法-前缀和与差分

一、前缀和&#xff08;Prefix Sum&#xff09; 1. 核心思想 前缀和是一种预处理数组的方法&#xff0c;通过预先计算并存储数组的前缀和&#xff0c;使得后续的区间和查询可以在**O(1)**时间内完成。 2. 定义 给定数组 nums&#xff0c;前缀和数组 prefixSum 的每个元素 p…...

网关接口超时?用Java实现接口快速返回,后台继续执行的方法

网关接口超时&#xff1f;用Java实现接口快速返回&#xff0c;后台继续执行的方法 在开发过程中&#xff0c;我们经常会遇到网关接口由于超时限制而导致请求失败的情况。然而&#xff0c;有些接口本身就需要较长时间来执行任务&#xff0c;这时我们不能简单地增加超时时间&…...

HTTP---基础知识

天天开心&#xff01;&#xff01;&#xff01; 文章目录 一、HTTP基本概念1. 什么是HTTP&#xff0c;又有什么用&#xff1f;2. 一次HTTP请求的过程3.HTTP的协议头4.POST和GET的区别5. HTTP状态码6.HTTP的优缺点 二、HTTP的版本演进1.各个版本的应用场景2、注意要点 三、HTTP与…...

python基础学习三(元组及字符串的使用)

文章目录 元组什么是元组元组的创建方式为什么要将元组设计成不可变序列元组的遍历集合集合的相关操作集合操作集合的数学操作集合生成式列表&#xff0c;字典&#xff0c;元组&#xff0c;集合总结 字符串字符串的驻留机制判断字符串的操作方法字符串的比较操作字符串的切片操…...

c#winform,倒鸭子字幕效果,typemonkey字幕效果,抖音瀑布流字幕效果

不废话 直接上效果图 C# winform 开发抖音的瀑布流字幕。 也是typemonkey插件字幕效果 或者咱再网上常说的倒鸭子字幕效果 主要功能 1&#xff0c;软件可以自定义添加字幕内容 2&#xff0c;软件可以添加字幕显示的时间区间 3&#xff0c;可以自定义字幕颜色&#xff0c;可以随…...

1、C51单片机(STC8G2K64S4)串口实验

一、串口1接线图 1、下面是单片机外接电路图&#xff0c;P30,P31分别用于RXD和TXD功能引脚 2、我们来查看单片机手册 串口1需要设置的寄存器 串口1的功能脚配置选择位&#xff0c;看电路图选择的是P3.0,P3.1。 3、串口1&#xff1a;SCON控制寄存器 设置为0x50:0101 0000。&a…...

ue材质学习感想总结笔记

2025 - 3 - 27 1.1 加法 对TexCoord上的每一个像素加上一个值&#xff0c;如果加上0.1&#xff0c;0.1&#xff0c; 那么左上角原来0,0的位置变成了0.1,0.1 右上角就变成了1.1,1.1&#xff0c;那么原来0,0的位置就去到了左上角左上边&#xff0c;所以图像往左上偏移。 总而言…...

MFC TRACE 宏的使用说明

书籍&#xff1a;《Visual C 2017从入门到精通》的2.7 字符串 环境&#xff1a;visual studio 2022 内容&#xff1a;几个字符串类型->&#xff08;将单字节char*转换为宽字节wchar_t *&#xff09;&#xff08;将宽字节wchar_t* 转换为单字节char *&#xff09; 问题&am…...

latex笔记

1、基本结构 \documentclass[a4paper, 12pt]{article} %文档类型 \begin{document}\title{My First Document}\author{My Name}\date{\today}\maketitleA sentence of text. \end{document}2、带有章、节、小节的结构 \documentclass[a4paper, 12pt]{article}\begin{document…...

Unity编辑器功能及拓展(3) —[Attribute]特性

在 Unity 中&#xff0c;[Attribute]格式的特性是用于扩展编辑器功能、控制序列化行为和调整 Inspector 显示,进行编辑器拓展的核心工具。 一.基础编辑器拓展 1.基础序列化控制 1.[SerializeField] 强制显示私有变量到Inspector 2.[HideInInspector] 隐藏该字段在Inspect…...

Rust基础语法

以下是 Rust 语言基础语法的核心要点&#xff0c;结合与 JavaScript 的对比&#xff0c;帮助前端开发者快速掌握核心概念&#xff1a; 一、变量与常量 1. 变量声明 Rust&#xff1a;变量默认不可变&#xff0c;需用 mut 显式声明可变性。let x 5; // 不可变变量 le…...

<tauri><rust><GUI>基于rust和tauri,实现一个大寰电爪PGHL(串口设备)定制化控制程序

前言 本文是基于rust和tauri,由于tauri是前、后端结合的GUI框架,既可以直接生成包含前端代码的文件,也可以在已有的前端项目上集成tauri框架,将前端页面化为桌面GUI。 环境配置 系统:windows 10平台:visual studio code语言:rust、javascript库:tauri2.0概述 本文是…...

Sentinel 相关知识点

Sentinel 实现原理&#xff1f; Sentinel 是面向分布式服务架构的流量控制组件&#xff0c;主要以流量为切入点&#xff0c;从限流、流量整形、熔断降级、系统负载保护等多个维度来帮助开发者保障微服务的稳定性。以下是 Sentinel 的实现原理&#xff1a; 核心概念 资源&…...

DFS飞机降落

问题描述 NN 架飞机准备降落到某个只有一条跑道的机场。其中第 ii 架飞机在 TiTi​ 时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 DiDi​ 个单位时间&#xff0c;即它最早可以于 TiTi​ 时刻开始降落&#xff0c;最晚可以于 TiDiTi​Di​ 时刻开始降落。降落…...

SpringCould微服务架构之Docker(5)

Docker的基本操作&#xff1a; 镜像相关命令&#xff1a; 1.镜像名称一般分两部分组成&#xff1a;[repository]:[tag]。 2. 在没有指定tag时&#xff0c;默认是latest&#xff0c;代表着最新版本的镜像。 镜像命令的案例&#xff1a; 镜像操作常用的命令&#xff1a; dock…...

音乐webpack(通杀webpack-1)

本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未经许可…...

数据结构与算法——顺序表之手撕OJ题

文章目录 一、前言二、拿捏OJ题2.1移除元素2.2删除有序数组中的重复项2.3合并两个有序数组 三、总结 一、前言 Do you study today?up在上一次已经讲解完毕了有关顺序表的所有知识&#xff0c;不知道大家是否已经沉淀完毕了呢&#xff1f;有一句老话说得好啊——光看不练假把…...

减少采样空间方法 变成后验概率

又 因为后验概率很难计算 --所以通过引入变分分布来近似 后验概率分布 同时 引入 kl散度来度量 近似的效果好不好 什么是kl散度 kl散度带变分&#xff1a; 第一个问题 &#xff1a;积分变期望 问题二&#xff1a;贝叶斯公式 第三个问题&#xff1a;为啥可以独立出来 因为相比…...

如何使用K8S快速部署测试环境

目录 一、Windows 系统使用 Rancher Desktop 二、Linux系统 集群使用 Ansible 一键部署 三、Linux系统使用 kubeadm 快速搭建单节点集群 四、Kubernetes (K8S) 快速部署测试环境 4.1 准备 K8S 集群 4.2部署测试应用 4.3访问测试服务 4.4持久化存储&#xff08;可选&…...