删除学习“叶平”老师课的sc表记录

要删除学习叶平 老师课程的成绩表(SC)记录,需要多表关联定位数据:

  1. Teacher表找到叶平的教师编号t_no
  2. 通过t_noCourse表找到对应课程编号c_no
  3. 通过c_noSC表找到需要删除的成绩记录

SQL 实现代码

MySQL / Oracle 通用写法(推荐,兼容性最好)

sql

复制代码
-- 删除学习叶平老师课程的SC表记录
DELETE FROM sc
WHERE sc.c_no IN (
    -- 子查询:获取叶平老师教授的所有课程编号
    SELECT course.c_no 
    FROM course
    JOIN teacher ON course.t_no = teacher.t_no  -- 课程表关联教师表
    WHERE teacher.tname = '叶平'  -- 筛选教师姓名为叶平
);

多表连接删除写法(MySQL 专用)

sql

复制代码
-- MySQL 多表连接删除
DELETE sc
FROM sc
JOIN course ON sc.c_no = course.c_no
JOIN teacher ON course.t_no = teacher.t_no
WHERE teacher.tname = '叶平';

代码说明

  1. 核心逻辑 :通过教师表→课程表→成绩表的关联关系,精准定位要删除的成绩记录
  2. 子查询作用 :先查出叶平老师教的所有课程编号,再删除成绩表中对应课程的记录
  3. 安全提示 :执行DELETE前,建议先执行SELECT查询确认要删除的数据,避免误删:

sql

复制代码
-- 先查询验证数据(必做!)
SELECT * FROM sc
WHERE sc.c_no IN (
    SELECT course.c_no 
    FROM course
    JOIN teacher ON course.t_no = teacher.t_no
    WHERE teacher.tname = '叶平'
);

总结

  1. 多表删除需逐层关联定位目标数据
  2. 优先使用IN子查询写法,适配所有数据库
  3. 删除前必须用SELECT验证数据,防止误操作
相关推荐
minglie13 小时前
高等代数试题
学习
Xiaofeng36934 小时前
GPT-5.6 发布后,我用了一个周末重新规划学习路线图
gpt·学习
其实防守也摸鱼5 小时前
运维--怎么看接口的请求和返回
运维·学习·网络安全·网络攻击模型·burpsuite·攻防对抗·蓝队
酷讯网络_2408701605 小时前
区块粮仓宠物NFT源码区块狗/抢购转让预约区块投资理财系统
学习·开源·宠物
Generalzy6 小时前
从本地 Demo 到生产级检索:Milvus 学习笔记(3)
笔记·学习·milvus
心中有国也有家6 小时前
AtomGit Flutter 鸿蒙客户端:ModalBottomSheet 实战
android·javascript·学习·flutter·华为·harmonyos
tyqtyq227 小时前
求职信生成:AI 智能求职信撰写系统的鸿蒙实现
人工智能·学习·华为·生活·harmonyos
MartinYeung57 小时前
[论文学习]PrivacyLens:评估语言模型在行动中的隐私规范意识
人工智能·学习·语言模型
凉、介8 小时前
Virtio 系列(一):框架概览
笔记·学习·嵌入式·虚拟化·virtio
小心亦新9 小时前
STM32学习12--串口2收发数据包
学习