Join types

Common aspects of all join request elements are defined by the abstract type joinType.

XML Schema

   <xs:complexType name="joinType" abstract="true">
      <xs:choice minOccurs="2" maxOccurs="2">
         <xs:group ref="accessRequest"/>
         <xs:group ref="joinRequest"/>
      </xs:choice>
      <xs:attribute name="FIRST" type="xs:string" use="optional" fixed="TRUE"/>
   </xs:complexType>

Description

Join request elements that extend the complex type joinType must have exactly two sub-elements. Either sub-element can be an access request element chosen from the accessRequest group, or another join request element chosen from the joinRequest group. The first sub-element appearing in the join request specifies the outer table of the join operation, and the second element specifies the inner table.

If the FIRST attribute is specified, it must have the value TRUE. Adding the FIRST attribute to a join request element indicates that you want an execution plan in which the tables that are targeted by the join request are the outermost tables in the join sequence for the corresponding FROM clause. Only one access or join request per FROM clause can specify the FIRST attribute. If multiple access or join requests that target tables of the same FROM clause specify the FIRST attribute, all but the initial request are ignored and SQL0437W with reason code 13 is returned.