1. PostgreSQL 16 Documentation. (2023). 7.2.2. Joins Between Tables. "Finally, a FULL OUTER JOIN... returns all the joined rows, plus one row for each unjoined row from the left table (extended with nulls on the right), plus one row for each unjoined row from the right table (extended with nulls on the left)."
Source: PostgreSQL Documentation
2. Microsoft SQL Server Documentation. (2023). FROM clause plus JOIN, APPLY, PIVOT (Transact-SQL). In the section for FULL [ OUTER ] JOIN, it states: "Specifies that all rows from both the left and right outer input sources are returned... If a row from the left outer input source does not match any row in the right outer input source, the row from the left outer input source is returned in the result set, and output columns from the other table contain null values."
Source: Microsoft Learn
3. Stanford University. (n.d.). CS145: Introduction to Databases, Lecture Notes on Relational Algebra. The full outer join operation (⟗) is defined as the union of the left outer join and the right outer join (R ⟗ S = (R ⟕ S) ∪ (R ⟖ S)), which mathematically ensures all tuples from both relations R and S are included in the result.
Source: Stanford CS145 Course Material