select a as average,name
from (select avg(marks) as a,name
from marks,student where rollno=roll group by marks.roll);
错误1248(42000):每个派生表必须有自己的别名
我知道纠正。只是想知道我为什么要使用别名?
select a as average,name
from (select avg(marks) as a,name
from marks,student where rollno=roll group by marks.roll)xxx;
答案 0 :(得分:1)
这只是MySQL设计中的一个怪癖。在这种情况下,Oracle和SQL-Server不需要别名。
答案 1 :(得分:0)
如果要选择,则需要声明From
- 子句。如果没有,就像在子选择中一样,你甚至无法选择。这就是为什么SQL语法定义为每个子选择表创建一个别名。