as exists in or any subqueries unnesting the subquery using the u201c u201d join operator causes incorrect results to be returned according to the semantics of the query the rows from the join between t1 and t2 either match the subquery condition or they do not if they match the subquery condition they should be returned as the result of the query otherwise not however according to the semantics of sql the same row from the join between t1 and t2 would never be returned as the result of the query more than once a simple conversion to the u201c u201d join operator could violate this rule since a simple join would return multiple rows from the join of t1 and t2 if there are multiple rows in t3 that match the subquery condition to insure that correct results are preserved when unnesting exists in and any subqueries the u201c s u201d semi join operator is used thus the example query above is unnested and transformed into the following if the unnested query contains non commutative connection operators then the methods discussed in more detail below are used to further increase the available connection orders for the query for the example query above in potential connection orders where t3 is connected before t1 or t2 the query is modified as discussed below including replacing the semi join operator s is replaced with the join operator u201c u201d this yields the increased set of connection orders discussed above in table 1 the query shown above whether generated by unnesting a subquery as discussed above.