Mysql 查询 没有学过张三课程的同学的名字

本文介绍了一种使用子查询和消除笛卡尔积的MySQL查询方法,以找出所有未选修张三老师课程的学生姓名。通过多表查询,首先获取所有学生ID,接着确定张三教授的课程ID,然后找出选修这些课程的学生,最后对比筛选出未选修张三课程的学生名单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


CREATE TABLE `Student`(
`s_id` VARCHAR(20) COMMENT '学生编号',
`s_name` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '学生姓名',
`s_birth` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '出生年月',
`s_sex` VARCHAR(10) NOT NULL DEFAULT '' COMMENT '学生性别',
PRIMARY KEY(`s_id`)
);
-- 课程表
CREATE TABLE `Course`(
`c_id` VARCHAR(20) COMMENT '课程编号',
`c_name` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '课程名称',
`t_id` VARCHAR(20) NOT NULL COMMENT '教师编号',
PRIMARY KEY(`c_id`)
);
SELECT * FROM `course`;
SELECT * FROM Teacher;
SELECT * FROM score;
SELECT * FROM `student`;
-- 教师表
CREATE TABLE `Teacher`(
`t_id` VARCHAR(20) COMMENT '教师编号',
`t_name` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '教师姓名',
PRIMARY KEY(`t_id`)
);
-- 成绩表
CREATE TABLE `Score`(
&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值