Você está perdendo o fato de que as visualizações no MySQL não permitem subconsultas no
from cláusula. Eles são permitidos no select e where e having cláusulas, no entanto. A documentação é bem claro:
No seu caso, você provavelmente pode reescrever o
from cláusula como uma subconsulta correlacionada no select cláusula. Você também pode usar várias camadas de visualizações para fazer o que quiser. EDITAR:
Uma instrução SELECT em SQL tem as seguintes cláusulas:
SELECT , FROM , WHERE , GROUP BY , HAVING e ORDER BY (de acordo com o padrão). Além disso, o MySQL adiciona coisas como LIMIT , e INTO OUTFILE . Você pode ver isso da maneira que o MySQL descreve o SELECT cláusula na documentação
. Você também pode ver isso na documentação de quase qualquer banco de dados. Operações como
join fazem parte do FROM cláusula (da mesma forma WITH ROLLUP faz parte do GROUP BY e DESC faz parte do ORDER BY ). Essas podem parecer convenções sintáticas arcanas, mas se tornam importantes quando há uma restrição como a acima. Talvez uma razão para a confusão seja um estilo de recuo que é assim:
select . . .
from t1
inner join t2
on . . .
Onde as instruções de junção se alinham sob o
select . Isso é enganoso. Eu escreveria isso como:select
from t1 join
t2
on . . .
Apenas o
select cláusulas se alinham sob o select.