做mysql 50道练习题时的第五题报错 1241错误


SELECT DISTINCT(student.sid,sname,sage,ssex) FROM student
LEFT JOIN score
ON student.sid=score.sid
WHERE student.sid =(
SELECT sid FROM score
WHERE cid=(
SELECT DISTINCT cid FROM course
WHERE tid=(
SELECT tid FROM teacher
WHERE tname='张三'
)));

这是mysql 50道练习题的第五题,本人敲的语句,第二个嵌套单独拎出来跑了一下是输出了一列呢,但是加入到最外层的嵌套里就报1241的错误

DISTINCT是关键字,加了括号就认为是方法了,所以会导致报错。
DISTINCT是去重重复的行,所以加了DISTINCT表示所有字段都去重。

已经解决,DISTINCT 后的括号不能加