学习目标:
sql
学习内容:
40.查询学过「哈哈」老师授课的同学的信息
Select * from students left join score on students.stunm=score.stunm where counm = (select counm from teacher left join course on teacher.teanm=course.teanm where teacher.name= ‘哈哈’);
出现错误
ERROR 1241 (21000): Operand should contain 1 column(s)
是MySQL数据库中的一个常见错误。这个错误发生的原因通常是在你尝试在期望一个列值的地方使用了一个返回多列的子查询或者函数。
修改后
Select * from students left join score on students.stunm=score.stunm where counm = (select counm from teacher left join course on teacher.teanm=course.teanm where teacher.name= ‘哈哈’);
出现错误
ERROR 1242 (21000): Subquery returns more than 1 row
*这个错误发生在SQL查询中,当子查询返回多于一行结果时,而父查询期望子查询返回单行结果时就会出现这个错误。在SQL中,子查询通常用在WHERE或SELECT列表中,并期望返回一个标量值(单个值)
换一种方式
select students.* from students,teacher,course,score
where students.stunm = score.stunm and course.counm=score.counm and course.teanm = teacher.teanm and teacher.name = ‘哈哈’;
学习时间:
1月-3月,每天一小时左右
学习产出:
一周一发