简述
学习mysql的时候遇到了这个问题。
查了一下 https://stackoverflow.com/questions/3363918/mysql-error-1248-42000-every-derived-table-must-have-its-own-alias 这是stackoverflow的大佬给的解答。
其实是很简单的一个问题。
就是在多级查询的过程中,会需要给表一个别名。
代码
错误的查询方式:
select * from (select s.sno from student s where s.ssex='女');
正确的查询方式:
select * from (select s.sno from student s where s.ssex='女') as mid_sno;
其实区别,就在于背后有没有那个as mid_sno
。
这是为了保证每个派生出来的表都需要有一个自己的别名。