发布时间:2026/8/24 8:28:01
力扣-高频 SQL 50 题(基础版)-1280. 学生们参加各科测试的次数 一、完整建表 SQLMySQL 语法二、需求查询出每个学生参加每一门科目测试的次数结果按student_id和subject_name排序三、 思路1.插入数据构造表格2.写题表层视觉迷惑点下面这会是大部分人第一次的答案(相似)一定会觉得第二张Subjects表是多余的没必要关联因为Subjects表的仅有的数据Subjects_name刚好第三个表也有所以大部分人一定会在join联合时直接关联Students表Examinations表而舍弃Subjects表# Write your MySQL query statement below select s.student_id,s.student_name,e.subject_name,count(subject_name) attended_exams from Students s join Examinations e on e.student_ids.student_id group by s.student_id,s.student_name,e.subject_name order by s.student_id asc,s.student_name asc展示结果(部分正确)底层逻辑漏洞核心INNER JOIN Students Examinations只会保留有考试记录的「学生 科目」组合学生 Bob 没考过 Physics 物理 → 这条组合直接从结果里消失无法显示次数 0学生 Alex 一门考试都没参加 → 他的 3 门科目全部消失输出里完全看不到 Alex 题目硬性要求每个学生、每一门学校开设科目都要展示没参加考试次数写 0。想要拿到「全部学生 × 全部科目」完整清单必须借助Subjects全科目表做笛卡尔积Subjects 表真实作用存储学校所有开设课程全集不受学生考试行为影响通过 join 和学生表组合强制生成「每个学生匹配全部 3 门科目」的完整行后续再LEFT JOIN考试记录没匹配到考试的行考试字段自动为 NULLCOUNT 统计自动算出 0 次保证输出结果和题目「预期结果」完全一致不会丢失缺考科目、零考试学生。标准满分正确代码# Write your MySQL query statement below SELECT s.student_id, s.student_name, sub.subject_name, COUNT(e.subject_name) AS attended_exams FROM Students s -- 第一步交叉连接学生全部科目生成完整笛卡尔积核心依赖Subjects表 CROSS JOIN Subjects sub -- 第二步左连接考试记录保留所有学生科目无考试填充NULL LEFT JOIN Examinations e ON s.student_id e.student_id AND sub.subject_name e.subject_name -- 第三步按学生科目分组统计考试次数 GROUP BY s.student_id, s.student_name, sub.subject_name -- 第四步按题目指定规则排序 ORDER BY s.student_id ASC, sub.subject_name ASC;同类题型通用解题模板总结笔记举一反三题型特征需要展示「所有 A × 所有 B」无匹配数据显示 0必须准备一张全集维度表本题就是 Subjects 科目全集表JOIN主表 × 全集表生成完整组合LEFT JOIN业务记录表本题 ExaminationsCOUNT (业务表字段) 实现无匹配时计数 0GROUP BY 全部非聚合字段ORDER BY 按题目要求排序同类练习题举例统计每个门店每种商品的销量没卖出过显示 0统计每个员工每月考勤天数当月无考勤显示 0核心思路和本题完全一致都需要一张全集维度表做交叉连接拓展如果题目只给Students和Examinations两张表没有专门存储全部科目的表怎么办os我是面试官就这样出题结合生活场景比如大学期末-每场考试都必定至少有一个人参加不存在有课程没有学生参加这个就含蓄地表示Examinations表里拥有原先Subjects里所有的科目这样大学生就会困惑许久核心思路用子查询SELECT DISTINCT subject_name FROM Examinations虚拟生成「科目全集临时集合」替代原本的Subjects表再和学生表交叉连接。完整可运行 SQLSELECT s.student_id, s.student_name, sub.subject_name, COUNT(e.subject_name) AS attended_exams FROM Students s -- 虚拟科目表从考试记录里去重拿到全部存在过的科目 JOIN ( SELECT DISTINCT subject_name FROM Examinations ) AS sub(subject_name) LEFT JOIN Examinations e ON s.student_id e.student_id AND sub.subject_name e.subject_name GROUP BY s.student_id, s.student_name, sub.subject_name ORDER BY s.student_id ASC, sub.subject_name ASC;优缺点✅ 优点不需要物理Subjects表仅靠两张业务表完成需求❌ 缺点如果存在一门全校开设、但从来没有任何学生考过的科目这门课会直接丢失无法展示适用场景题目明确说明所有学校开设的科目都至少有一名学生参加过考试

相关新闻

2026/8/24 12:41:12

零基础入门、电工转型、不用背电路图、3 个月接单

这段时间好多人私信问我,没基础能不能学修电路板?干电工的想转行行不行?是不是得背一大堆电路图才能入门?还有人说,网上讲仨月就能出师接单,是不是割韭菜?今天唠句掏心窝子的,我带过…

2026/8/24 12:41:12

基于DeepSeek大模型的自动化字幕翻译与封装全流程实践

1. 先搞清楚“DeepSeek英转中文字幕”到底在做什么 看到这个标题,很多人的第一反应可能是“这是个AI翻译工具吧”。但如果你真的上手去试,会发现它解决的远不止是“翻译”这么简单。这个项目,或者说这类基于DeepSeek等大语言模型(…

2026/8/24 12:41:12

[光学原理与应用-541]:计算机视觉检测激光器腔体污染:系统方案

一、腔体中需要检测的污染类型表格检测对象常见污染 / 缺陷典型尺寸腔镜 / 反射镜表面灰尘颗粒、油污、指纹、镀膜脱落、激光损伤点、划痕μm~mm 级晶体端面颗粒、油污、膜层损伤、微裂纹、崩边μm 级晶体内部 / 焊接面微裂纹、掺杂不均、焊接空洞、铟焊层缺陷μm~ 亚 mm胶接部…

2026/8/24 12:36:12

元组(tuple) vs 列表(list) 完整区别

元组(tuple) vs 列表(list) 完整区别 1. 写法不同 列表:[] 方括号 lst [1, 2, "a"]元组:() 圆括号,只有一个元素要加逗号 (5,) tup (1, 2, "a") single (5,) # 不加逗号只是数字5,不是元组2. 最核心&…

2026/8/24 0:07:22

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 1:12:32

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 8:17:29

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 1:09:25

3条命令跑通LocalAI:无GPU本地AI引擎部署

3条命令跑通LocalAI:无GPU本地AI引擎部署 【免费下载链接】LocalAI LocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required. 项目地址: https://gitcode.com/GitHub_Trending/lo/LocalAI…

2026/8/24 1:09:25

AI推理性能测试怎么做:MLPerf Inference完整上手指南

AI推理性能测试怎么做:MLPerf Inference完整上手指南 【免费下载链接】inference Reference implementations of MLPerf inference benchmarks 项目地址: https://gitcode.com/gh_mirrors/inf/inference 同一个模型换一张卡,速度快多少你知道吗&a…

2026/8/23 13:29:45

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/23 6:14:43

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/23 4:22:01

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…