错误总结

SELECT a.*,avg(b.s_score) as avgsc FROM student a left JOIN score b on a.s_id = b.s_id WHERE avgsc >60

这段SQL查询语句存在几个问题:

聚合函数的使用:在WHERE子句中使用聚合函数(如AVG)是不允许的。聚合函数只能在SELECT子句中使用,并且需要配合GROUP BY子句。

缺少GROUP BY子句:由于你在SELECT子句中使用了聚合函数AVG(b.s_score),你需要使用GROUP BY子句来指定按哪些列进行分组。

别名在WHERE子句中的使用:在WHERE子句中使用别名(如avgsc)是不允许的,因为WHERE子句在SELECT子句之前执行。


SELECT   a.*, avg(b.s_score) as avgsc 
FROM student a 
LEFT JOIN score b on  a.s_id = b.s_id 
GROUP BY a.s_id
HAVING avgsc > 60;