Join Type property

Official Content
This documentation is valid for:

Join refers to how tables are "linked" to retrieve data to fulfill a request (For eachs, either explicit or implied). Genexus supports two types of Joins: Natural and Outer. Natural means that if, for instance, two tables are joined, records for not matching join conditions should not be retrieved. Outer means that records not matching join conditions must be retrieved. 

Based on Attribute Nullable definitions for foreign keys, Genexus knows when to use Natural (not null reference) or Outer (nullable references).  When the Knowledge Base cames from Version 8.0 or prior, the Nullabe property is set to "Compatible". In this case, the user can be able to select which one of these type of joins are going to be performed.


Use default for Server The value which is set is the DBMS' default value. The type of default join for DBMSs is Outer, if they support it, and Natural if not (for more information refer to the documentation of the specific DBMS you are using). This is the default value.
Natural Join When the Join is resolved in the Server and the Natural Join schema is being used, the Select fails.
Outer Join  



  • The Joins performed in Transactions are performed in the Client program.
  • This configuration option is only considered if "Join tables in the Server" is set in the Join Management Property. When, "Join tables in the Client" is selected, the generator resolves the join in the Client via the Outer Join criteria, regardless of the value assigned to JOIN TYPE and the DBMS' default value. To accomplish this (perform joins), the code is generated in the client.
  • When the selected DBMS is DB2 Universal Database, you have to keep in mind that Outer Join is only supported from version 5 and up. In case option Outer Join is selected and the DBMS doesn’t support it (prior to version 5) then compilation or execution errors will occur.
  • When the selected DBMS is DB2 UDB for iSeries, you have to keep in mind that Outer Join is only supported from OS version 3.1 and up. In the particular case of version 3.1 you must install PTF SF22302, otherwise a syntax error will occur when executing.
  • The property at object level has priority over the one specified at model level.

How to apply changes

Rebuild all objects.


Objects Procedure object, Web Panel object
Languages .NET, Java, Ruby, Visual FoxPro

See also

Applying property changes