SQL DML 语句
CREATE TABLE `classes` (`ClassID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '班级ID',`ClassName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '班级名称',`TeacherID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '老师ID',PRIMARY KEY (`ClassID`) USING BTREE,INDEX `TeacherID`(`TeacherID`) USING BTREE,CONSTRAINT `classes_ibfk_1` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`TeacherID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;INSERT INTO `classes` VALUES ('001', '计算机科学', 'T001');
INSERT INTO `classes` VALUES ('002', '物理学', 'T002');
INSERT INTO `classes` VALUES ('003', '化学', 'T003');
-- ----------------------------CREATE TABLE `students` (`StudentID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '学生ID',`StudentName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '学生姓名',`ClassID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '班级ID',PRIMARY KEY (`StudentID`) USING BTREE,INDEX `ClassID`(`ClassID`) USING BTREE,CONSTRAINT `students_ibfk_1` FOREIGN KEY (`ClassID`) REFERENCES `classes` (`ClassID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;INSERT INTO `students` VALUES ('S001', '小明', '001');
INSERT INTO `students` VALUES ('S002', '小红', '002');
INSERT INTO `students` VALUES ('S003', '小刚', '003');
INSERT INTO `students` VALUES ('S004', '小李', NULL);
INSERT INTO `students` VALUES ('S006', '小张', '002');
-- ----------------------------CREATE TABLE `subjects` (`SubjectID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '科目ID',`SubjectName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '科目名称',`TeacherID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '老师ID',PRIMARY KEY (`SubjectID`) USING BTREE,INDEX `TeacherID`(`TeacherID`) USING BTREE,CONSTRAINT `subjects_ibfk_1` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`TeacherID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
INSERT INTO `subjects` VALUES ('SUB001', '计算机编程', 'T001');
INSERT INTO `subjects` VALUES ('SUB002', '高级物理', 'T002');
INSERT INTO `subjects` VALUES ('SUB003', '有机化学', 'T003');
INSERT INTO `subjects` VALUES ('SUB004', '数据结构', 'T001');-- ----------------------------CREATE TABLE `teachers` (`TeacherID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '老师ID',`TeacherName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '老师姓名',`Specialty` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '专业领域',PRIMARY KEY (`TeacherID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
INSERT INTO `teachers` VALUES ('T001', '李老师', '计算机科学');
INSERT INTO `teachers` VALUES ('T002', '王老师', '物理学');
INSERT INTO `teachers` VALUES ('T003', '张老师', '化学');
INSERT INTO `teachers` VALUES ('T004', '刘校长', NULL);
1. 查询所有班级名称和对应的老师姓名
SELECT c.ClassName, t.TeacherName FROM classes c
LEFT JOIN teachers t ON c.TeacherID = t.TeacherID;
2. 查询某个老师 (T001) 教授的所有科目名称
SELECT s.SubjectName FROM subjects s WHERE s.TeacherID = 'T001';
3. 查询某个班级 (例如班级ID为 '892') 的所有学生姓名
SELECT st.StudentName FROM students st WHERE st.ClassID = '892';
4. 查询教授科目数量最多的老师姓名
SELECT t.TeacherName
FROM teachers t
JOIN subjects s ON t.TeacherID = s.TeacherID
GROUP BY t.TeacherName ORDER BY COUNT(s.SubjectID) DESC LIMIT 1;
5. 查询每个班级的学生数量并按学生数量降序排列
SELECT c.ClassName, COUNT(s.StudentID) AS student_count
FROM classes c
LEFT JOIN students s ON c.ClassID = s.ClassID
GROUP BY c.ClassName ORDER BY student_count DESC;
6. 查询每个老师所教授的科目名称,结果以老师姓名和科目名称的形式展示
SELECT t.TeacherName, s.SubjectName
FROM teachers t JOIN subjects s ON t.TeacherID = s.TeacherID;
7. 查询没有教授任何科目的老师的姓名
SELECT t.TeacherName
FROM teachers t
LEFT JOIN subjects s ON t.TeacherID = s.TeacherID
WHERE s.SubjectID IS NULL;
8. 查询没有分配到班级的学生
SELECT StudentName
FROM students
WHERE ClassID IS NULL;
- LEFT JOIN 用于包含左表所有数据,即使右表没有匹配项,也会返回结果。
- COUNT() 用于计算班级中学生的数量。
- GROUP BY 用于按班级或老师分组。
- ORDER BY 用于按学生数量降序排列。
- LIMIT 1 用于限制返回结果为最多一个记录。
相关文章:
SQL DML 语句
CREATE TABLE classes (ClassID varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 班级ID,ClassName varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 班级名称,TeacherID varchar(20) CHARACTER SET utf8mb4…...
饲料颗粒机全套设备有哪些机器组成
颗粒饲料机主要用于将各种饲料原料(如玉米、豆粕、麦麸、鱼粉等)进行混合、压制,制成颗粒状的饲料。这种饲料不仅方便储存和运输,还能提高动物的采食效率和饲料利用率。同时,颗粒饲料在加工过程中能灭部分微生物和寄生…...
MySQL事务与锁
定义一个事务向d_eams数据库的student表中插入3条记录,并检验若插入相同的学号,则回滚事务,既插入无效,否则成功提交 delimiter $$ create procedure tr_proc() begindeclare continue handler for sqlstate 23000beginrollback;…...
汽车免拆案例 | 2007款宝马650i车发动机偶尔无法起动
故障现象 一辆2007款宝马650i车,搭载N62B48B发动机,累计行驶里程约为26万km。车主反映,发动机偶尔无法起动,故障频率较低,十几天出现1 次,且故障出现时起动机不工作。 故障诊断 接车后试车,…...
PostgreSQL和Oracle的sql差异
PostgreSQL和Oracle的sql差异 1.rownum (1)Oracle分页查询使用rownum,PostgreSQL使用limit offset ORACLEPOSTGRESQLselect * from (select rownum r,e.* from emp e where rownum <5) t where r>0;select * from emp limit 5 offset…...
SpringMvc完整知识点二(完结)
SpringMVC获取请求参数 环境准备工作等均省略,可详见快速入门,此处只写非共有部分代码 该部分示例项目SpringMvcThree已上传至Gitee,可自行下载 客户端请求参数的格式为:namevalue&passwordvalue... ... 服务端想要获取请求…...
29 - Java Serializable 序列化
Java的Serializable接口是Java序列化机制的核心,它允许一个对象的状态被转换为字节流,从而可以方便地进行存储或传输。 序列化后的对象可以被写到数据库、存储到文件系统,或者通过网络传输。 要在 Java 中使一个类可序列化,你需要…...
59 基于STM32的烟雾、红外、温湿度检测
所有仿真详情导航: PROTEUS专栏说明-CSDN博客 目录 一、主要功能 二、硬件资源 三、主程序编程 四、资源下载 一、主要功能 基于SMT32F103C8T6单片机,采用DHT11检测温湿度,采用光敏电阻检测光照,采用滑动变阻器分别模拟红外、烟雾,通过OLED显示屏显示,如果湿度过低…...
使用Excel 对S型曲线加减速算法进行仿真
项目场景: 项目场景:代码中写了S型加减速算法,相查看生成的加减速数组,直观的展示出来,USB通信一次64字节,对于我几个个32位的频率值不太方便,于是采用Excel进行仿真。 代码中如何生成S加减速曲…...
flink-connector-mysql-cdc:01 mysql-cdc础配置代码演示
flink-connector-mysql-cdc: 01 mysql-cdc基础配置代码演示02 mysql-cdc高级扩展03 mysql-cdc常见问题汇总04 mysql-cdc-kafka生产级代码分享05 flink-kafka-doris生产级代码分享06 flink-kafka-hudi生产级代码分享 flink-cdc版本:3.2.0 flink版本&…...
java计算机毕设课设—进销存管理系统(附源码、文章、相关截图、部署视频)
这是什么系统? 资源获取方式再最下方 java计算机毕设课设—进销存管理系统(附源码、文章、相关截图、部署视频) 一、项目简介 项目名称: 基于Java的进销存管理系统 开发背景: 在现代企业管理中,库存管理是核心环节之一&#…...
鸿蒙UI开发——渐变色效果
1、概 述 ArkTs可以通过颜色渐变接口,设置组件的背景颜色渐变效果,实现在两个或多个指定的颜色之间进行平稳的过渡。 目前提供三种渐变类型:线性渐变、角度渐变、径向渐变。 我们在鸿蒙UI布局实战 —— 个人中心页面开发中,默认…...
嵌入式硬件设计 — 智能设备背后的隐形架构大师
目录 引言 一、嵌入式硬件设计概述 (一)需求分析 (二)硬件选型 (三)电路设计 (四)PCB 制作与焊接 (五)硬件调试与测试 (六)软…...
QNX的系统资源访问机制
资料参考: QNX官网文档 在QNX中,一些系统的资源默认是无法访问的,或者可访问的范围过大,导致产生不可控的危险,此时便需要对系统资源进行访问限制 接口如下 #include <sys/rsrcdbmgr.h> #include <sys/rsrcdbmsg.h>int rsrcdbmgr_create(...
高校数字化运营平台解决方案:构建统一的服务大厅、业务平台、办公平台,助力打造智慧校园
教育数字化是建设教育强国的重要基础,利用技术和数据助推高校管理转型,从而更好地支撑教学业务开展。 近年来,国家多次发布政策,驱动教育行业的数字化转型。《“十四五”国家信息化规划》,推进信息技术、智能技术与教育…...
多模态大型语言模型MM-1.5采用数据驱动的方法,通过不断优化数据组合提高模型性能
多模态大型语言模型MM-1.5采用数据驱动的方法,通过不断优化数据组合提高模型性能 MM-1.5模型的设计核心在于其数据驱动的方法,这意味着模型的性能在很大程度上取决于所使用的数据类型和组合。这种方法的实施细节可以从以下几个方面来展开: …...
16 设计模式之适配器模式(充电器转换案例)
一、适配器模式的定义 适配器模式(Adapter Pattern)是一种结构型设计模式,常用于解决接口不兼容的问题。适配器模式通过引入一个“适配器”类,将一个接口转化为客户端期望的另一种接口,使得原本因接口不兼容而无法交互…...
基于Java Springboot在线招聘APP且微信小程序
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…...
多组学数据如何发表高分SCI论文,以RNA-Seq数据为例
随着高通量测序以及生物信息学的发展,R语言在生物大数据分析以及数据挖掘中发挥着越来越重要的作用。想要成为一名优秀的生物数据分析者与科研团队不可或缺的人才,除了掌握对生物大数据挖掘与分析技能之外,还要具备一定的统计分析能力与SCI论…...
Qt Designer Ui设计 功能增加
效果展示 输入密码,密码错误,弹出提示 密码正确,弹出提示并且关闭原窗口 代码(只提供重要关键主代码)lxh_log.py代码: import sysfrom PySide6.QtWidgets import QApplication, QWidget, QPushButtonfrom …...
Pixel Fashion Atelier企业应用:支持Webhook回调的自动化素材生成流水线搭建
Pixel Fashion Atelier企业应用:支持Webhook回调的自动化素材生成流水线搭建 1. 项目背景与价值 Pixel Fashion Atelier是一款基于Stable Diffusion与Anything-v5的图像生成工作站,专为企业级素材生产需求设计。传统AI工具往往面临两大挑战:…...
算法优化中的寄存器重用与内存映射策略的技术6
寄存器重用与内存映射策略在算法优化中的重要性寄存器重用和内存映射是提升计算密集型算法性能的关键技术,通过减少数据访问延迟和优化存储层次结构的使用,显著提高执行效率。寄存器重用的核心方法与技术数据局部性利用 通过循环展开(Loop Un…...
STM32智能甲鱼养殖系统设计与实现
基于STM32的智能甲鱼养殖系统设计与实现1. 项目概述1.1 系统背景现代水产养殖行业正面临从传统人工管理向智能化转型的关键时期。甲鱼作为对水质环境敏感的特种水产品,其养殖过程中需要持续监测多项水质参数并保持稳定环境。传统人工监测方式存在响应滞后、精度不足…...
STM32F103 LoRa物理层驱动库详解与工程实践
1. 项目概述LoRa_STM32 是一个面向 STM32F103CB 微控制器平台的 LoRa 通信库,本质是 sandeepmistry/arduino-LoRa 库在 STM32 平台上的适配分支。它并非独立开发的全新协议栈,而是通过 Arduino Core for STM32(rogerclarkmelbourne/Arduino_S…...
MQTT通信中的QoS级别详解:SpringBoot如何选择最适合的传输质量?
MQTT通信中的QoS级别详解:SpringBoot如何选择最适合的传输质量? 在物联网和分布式系统架构中,消息传输的可靠性往往直接关系到业务逻辑的正确性。MQTT协议作为轻量级发布/订阅模式的通信标准,其QoS(服务质量࿰…...
LFM2.5-1.2B-Thinking-GGUF惊艳效果:复杂逻辑推理题(如数理推导)分步求解
LFM2.5-1.2B-Thinking-GGUF惊艳效果:复杂逻辑推理题(如数理推导)分步求解 1. 模型能力概览 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型,专为低资源环境优化设计。这个1.2B参数的模型采用GGUF格式࿰…...
MarkDownload:让网页转Markdown变得简单高效的浏览器扩展
MarkDownload:让网页转Markdown变得简单高效的浏览器扩展 【免费下载链接】markdownload A Firefox and Google Chrome extension to clip websites and download them into a readable markdown file. 项目地址: https://gitcode.com/gh_mirrors/ma/markdownload…...
深度学习驱动的图像去雾:2023年最新算法与应用实践
1. 图像去雾技术的现状与挑战 清晨打开窗户,如果外面雾气弥漫,我们往往会等雾散了再拍照。但计算机视觉系统可没这个耐心——自动驾驶汽车必须实时看清路况,无人机巡检得在雾天正常工作。这就是图像去雾技术存在的意义。2023年,随…...
Unity引擎开发过的VR大场景项目网络技术,资源处理及热更新方案的报价大概多少
根据最新的市场招标数据、行业报价案例和技术方案分析,针对VR大场景项目的网络技术、资源处理、热更新方案三大模块的报价,整理如下:一、网络技术方案报价 网络技术方案主要解决多人在线同步、远程渲染、低延迟通信等问题。方案类型技术选型报…...
SDL窗口自适应实战:解决视频卡顿与分辨率切换崩溃的完整方案
SDL窗口自适应实战:解决视频卡顿与分辨率切换崩溃的完整方案 在多媒体应用开发中,流畅的视频播放体验是用户体验的关键指标之一。SDL(Simple DirectMedia Layer)作为一款跨平台的多媒体开发库,被广泛应用于游戏、视频播…...
