关于下面类型的SQL有一些bug吗?我们从以下的SQL语法中将得到什么样的结果?
select * from (select * from t1 where a=1) a1 left join t2 b1 on (a1.a=b1.a);
Is the following SQL different meaning from the above SQL?
select * from t1 left join t2 on (t1.a=1 and t1.a=t2.a);
SQL语句
‘select * from (select * from t1 where a=1) a1 left joint2 b1on (a1.a=b1.a)’
和
‘select * from t1 left join t2 on (t1.a=1 andt1.a=t2.a)’
意思是不一样的。实际上,第二个语句类似
‘select* from t1 left join t2on t1.a=t2.a where (t2.a=1)’
‘on’条件是为join所用而不是为t1的过滤条件。