mysql> select * from tb;
id    name
----  ----
1     tom
2     joe
3     jack我在MySql中输入以下SQL句子:
select (select name from a where id = 2) from tb a;
提示以下错误信息:
ERROR 1146 (42S02): Table 'mydatabase.a' doesn't exist按照逻辑来说, 一条SQL语句应该先执行from, 再执行where, 最后执行select
这样的话, 我写的SQL语句执行顺序应该如下:
1> from tb a
2> select (select name from a where id = 2)
既然是先执行from语句, 我已经把表tb另起别名为a, 那么select子句里应该知道有a这个表名...
那为什么会报"表a不存在"的错误信息呢? 谢谢高手的解答~!