求比每门课程平均分低的学生
问题描述:
Mysql错误:Every derived table must have its own alias 每个派生的表必须有它自己的别名
错误SQL:
[Err] 1248 - Every derived table must have its own alias
[SQL] SELECT student,course,score FROM score as s,
(SELECT course as a_course,AVG(score) as a_score FROM score GROUP BY course)
where s.course = a_course and s.score<a_score
正确SQL:
SELECT student,course,score FROM score as s,
(SELECT course as a_course,AVG(score) as a_score FROM score GROUP BY course) AS avg_score
where s.course = a_course and s.score<a_score
TIP:
把内层查询结果当作外层查询的比较条件
mysql常用查询:groupby,子查询,having,where
相关推荐
在MySQL数据库操作中,"Every derived table must have its own alias"是一个常见的错误提示,它意味着在你的SQL查询语句中,所有的子查询结果(也称为派生表)都需要被赋予一个唯一的别名。这个错误通常发生在多表...
在MySQL数据库中,当你尝试执行涉及子查询或多表联接的复杂SQL语句时,可能会遇到"Every derived table must have its own alias"这样的错误。这个错误提示表明在你的查询语句中,至少有一个子查询没有被赋予一个...
`AS tb`是为内层查询定义的别名,这是必要的,因为MySQL要求每个派生(或子查询)表都有自己的别名,否则会抛出错误`ERROR 1248 (42000): Every derived TABLE must have its own alias`。 当需要处理更多表时,...
- 每个派生表(即由子查询生成的临时表)都需要有自己的别名,否则会导致`ERROR 1248 (42000): Every derived TABLE must have its own alias`的错误。 - `INSERT INTO SELECT`不支持与`VALUES`子句结合使用。如果...
`SELECT f1, f2`从这两个表中选取需要的字段,`AS tb`为这个派生出来的表创建一个别名,这是MySQL强制要求的,否则会报错`ERROR 1248 (42000): Every derived TABLE must have its own alias`。然后,这个带有组合...