- In general, this rearrangement can be done for predicates that refer to
columns from one input to the join. Which is extremely common.
- "Pushing the select below the join" is a very important
query optimization.
- Query optimization involves discovering rearrangements like this,
estimating the cost of each, and picking the cheapest alternative.