diff --git a/doc/sql.extensions/README.joins.txt b/doc/sql.extensions/README.joins.txt new file mode 100644 index 0000000000..95d1e4d412 --- /dev/null +++ b/doc/sql.extensions/README.joins.txt @@ -0,0 +1,38 @@ +-------------- +New JOIN types +-------------- + +Author: + Adriano dos Santos Fernandes + +Format: + ::= + JOIN
USING ( ) + + ::= +
NATURAL JOIN
+ +Notes: + Named columns join: + 1) All columns specified in should exist in the tables of both sides. + 2) An equi-join (. = .) is automatically + created for all columns (ANDed). + 3) The USING columns can be accessed without qualifier, and in this case, result of + it is COALESCE(., .). + 4) In "SELECT *", USING columns are expanded once, using the above rule. + + Natural join: + 1) A "named columns join" is automatically created with all columns common to the + left and right tables. + 2) If the is no common column, a CROSS JOIN is created. + +Examples: + 1) select * + from employee + join department + using (dept_no); + + 2) select * + from employee_project + natural join employee + natural join project;