create database join_on use join_on; create table t1 (a int , b int); create table t2 (c int , d int); create table t3 (e int , b int); select * from t1 left join (t2 left join t3 on c+1=e) on t1.b=t3.b; select * from t1 left join (t2 left join t3 on d+1=e) on t1.b=t3.b; select * from t1 left join (t2 left join t3 on d+1=b) on t1.b=t3.b; select * from t1 left join (t2 left join t3 on c+1=b) on t1.b=t3.b; create table t_1 (a1 int, a2 int); create table t_2 (a1 int, b int); create table t_3 (c1 int, c2 int); create table t_4 (c2 int); insert into t_1 values (1,1); insert into t_2 values (1,1); insert into t_3 values (1,1); insert into t_4 values (1); select * from t_3 join (t_1 join t_2 using (a1)) on b=c1 join t_4 using (c2); # duplicated join using select * from t1 join t3 using(b, b, b); drop database join_on