All clauses optimized in this query are enclosed in the or clauses:
select p.pub_id, price from publishers p, titles t where ( t.pub_id = p.pub_id and type = "travel" and price between 15 and 30 and p.pub_id in ("P220", "P583", "P780") ) or ( t.pub_id = p.pub_id and type = "business" and price between 15 and 50 and p.pub_id in ("P651", "P066", "P629") )
Predicate transformation pulls clauses linked with and from blocks of clauses linked with or, such as those shown above. It extracts only clauses that occur in all parenthesized blocks. If the example above had a clause in one of the blocks linked with or that did not appear in the other clause, that clause would not be extracted.