我在使用显式连接理解正确的 sql 语法时遇到问题。例如在第一个片段中,在第二个连接中“ec”是可见的并且限制有效。但在第二个片段中,“op”无法解决。
第一个片段:
select im.*
from gestion_corte gc
join evento_corte ec
on ec.id_corte = gc.id_corte
join op_corte op
on op.id_corte = gc.id_corte
and op.fecha_evento = ec.fecha_evento
join img_corte im
on op.id_corte = im.id_corte
where ec.fecha_evento > '01092012'
第二个片段,“op”在第一次加入时无法解析:
select im.*
from gestion_corte gc
join evento_corte ec
on ec.id_corte = gc.id_corte
and op.fecha_evento = ec.fecha_evento -- This condition has moved
join op_corte op
on op.id_corte = gc.id_corte
join img_corte im
on op.id_corte = im.id_corte
where ec.fecha_evento > '01092012'
结果,可见性是从上到下解决的处理吗?还有其他重要的事情需要考虑吗?