SQL查询: 找出没有选过'liming'老师的学生
"SELECT s.name\nFROM s\nLEFT JOIN sc ON s.sid = sc.sid\nLEFT JOIN c ON sc.cid = c.cid\nWHERE c.teacher <> 'liming' OR c.teacher IS NULL;"\n\n解释:\n1. 首先,使用左连接将学生表(s)与选课表(sc)连接,并根据学生的ID(sid)进行关联。\n2. 然后,再次使用左连接将选课表(sc)与课程表(c)连接,并根据课程的ID(cid)进行关联。\n3. 接着,使用WHERE子句来筛选出课程的老师不是'liming'的记录,或者没有匹配的课程记录。\n4. 最后,通过选择学生表(s)中的姓名字段(name)来获取未选过'liming'老师的所有学生姓名。\n\n请注意,此解决方案假设学生表(s)的主键为sid,并且选课表(sc)和课程表(c)都有与学生表(s)关联的外键。
原文地址: https://www.cveoy.top/t/topic/pT6U 著作权归作者所有。请勿转载和采集!