G select * from t1 inner join t2 on t1.f1 = t2.f2 inner join t3 on t1.f1 = t3.f1; (after rewrites) cluster0 Box0:Select cluster5 Box5:BaseTable T3 cluster4 Box4:BaseTable T2 cluster3 Box3:BaseTable T1 boxhead0 Distinct: Preserve 0: Q0.c0 as F1 1: Q0.c1 as F2 2: Q0.c2 as F3 3: Q1.c0 as F1 4: Q1.c1 as F2 5: Q1.c2 as F3 6: Q3.c0 as F1 7: Q3.c1 as F2 8: Q3.c2 as F3 Q0 Q0(F) as T1 Q0->Q0 NOT ((Q0.c0) IS NULL) Q1 Q1(F) as T2 Q0->Q1 (Q0.c0) = (Q1.c1) Q3 Q3(F) as T3 Q0->Q3 (Q0.c0) = (Q3.c0) boxhead3 Distinct: Preserve 0: c0 as F1 1: c1 as F2 2: c2 as F3 Q0->boxhead3 Q1->Q1 NOT ((Q1.c1) IS NULL) boxhead4 Distinct: Preserve 0: c0 as F1 1: c1 as F2 2: c2 as F3 Q1->boxhead4 Q3->Q3 NOT ((Q3.c0) IS NULL) boxhead5 Distinct: Preserve 0: c0 as F1 1: c1 as F2 2: c2 as F3 Q3->boxhead5