Effects of NULL for Table Expression
Here's an important distinction between expressions denoting tables and expressions denoting multisets of rows: a table expression cannot evaluate to NULL, whereas a multiset expression can. Moreover, although a row expression can evaluate to NULL-for instance, CAST ( NULL AS ROW ( X INTEGER, Y INTEGER ) ) is a legal expression-NULL cannot appear as an element of the body of a table. Every element of the body of a table is indeed a row. However, if a table has a column whose declared type is a row type, then NULL might appear in place of a value for that column in some row of that table.