What\'s the difference between:
select t1.a1, t1.a2, t1.a3 from t1 cross join t2 where t1.a3 = t2.a1
and:
select t1.a1, t1.a2,
There's no difference, although one can smile about it a little. You make a cross join first and with the where clause you convert it to an inner join (at least with the first one). This way of writing joins is more than 20 years old and kind of error prone in complex statements. I'd recommend to use the new funky way of writing it like this:
select t1.a1, t1.a2, t1.a3
from t1
inner join t2 on t1.a3 = t2.a1