为什么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!="张三”报错,正确的该如何修改?
23
收起
正在回答
1回答
同学你好,
1、根据提供的表结构,则在课程表中T字段应该是老师编号,而不是老师名称,如下所示:
所以同学的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 星