为什么WHERE teacher.T!="张三”报错,正确的该如何修改?

为什么WHERE teacher.T!="张三”报错,正确的该如何修改?

SELECT student.S,student.Sage,student.Sname,student.Ssex
FROM student LEFT JOIN sc JOIN course JOIN teacher
ON student.S=sc.S AND sc.C=course.C AND course.T=teacher.T
WHERE teacher.T!="张三";

为什么WHERE teacher.T!="张三”报错,正确的该如何修改?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,

1、根据提供的表结构,则在课程表中T字段应该是老师编号,而不是老师名称,如下所示:

http://img1.sycdn.imooc.com//climg/6128522709876a7d05020198.jpg

所以同学的where条件是不成立的,其次这里建议同学按照如下三步骤来完成该sql的查询:

查询张三老师讲授的课程---》学习张三老师讲授的课程的学生---》查询结果之外的学生---》得到结果如下:

SELECT *FROM student
WHERE student.S NOT IN
(SELECT sc.S FROM sc,course,teacher
WHERE sc.C=course.C
AND course.T=teacher.T
AND teacher.Tname='张三');

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师