子查询中出现了以上错误
后来经过检查只要在子查询条件前面加一个ANY就行了
SELECT s.sname 学生姓名,
o.grade 学生成绩,
c.cname 课程名称
FROM student s
LEFT JOIN sc o
ON s.`Sno`=o.`Sno`
LEFT JOIN course c
ON c.`Cno`=(
SELECT o1.cno
FROM student s1
LEFT JOIN sc o1
ON s1.`Sno`=o1.`Sno`
)WHERE s.`Sno`="1001";
> 改成以下这样
```sql
SELECT s.sname 学生姓名,
o.grade 学生成绩,
c.cname 课程名称
FROM student s
LEFT JOIN sc o
ON s.`Sno`=o.`Sno`
LEFT JOIN course c
ON c.`Cno`=ANY(
SELECT o1.cno
FROM student s1
LEFT JOIN sc o1
ON s1.`Sno`=o1.`Sno`
)WHERE s.`Sno`="1001";
就没有问题了,可以参考