SQL構文は、似ていない可能性がある型を1つの検索結果になるように適合させなければなりません。解決アルゴリズムは1つのunion問い合わせの出力列ごとに適用されます。INTERSECT構文とEXCEPT構文は、UNIONと同じ方法で、似ていない可能性がある型の解決を行います。同一のアルゴリズムを使用して、その要素式を適合させ、結果のデータ型を選択します。UNION、CASEおよび関連する構文の型解決もし全ての入力値が同一型だった場合、unknownにはならず、その型として解決されます。ない場合は、リスト内のドメイン型を背後にある基本型で置換します。全ての入力値がunknown型だった場合、text型(文字列カテゴリの好ましい型)として解決されます。ない場合はunknown入力は無視します。unknownではない入力値が全て同じ型カテゴリでなければ失敗します。最初のunknownではない入力データ型を選択します。存在すれば、このデータ型はそのカテゴリの好ましい型です。なくば、すべての先行する非unknownの入力値を暗黙的に変換させることができる、最後のunknownではない入力型を選択します。(少なくともリストの先頭の型はこの条件を満たす必要がありますので、常にこのような型は存在します。)全ての入力値を選択された型に変換します。指定された入力から選択された型への変換が存在しない場合は失敗します。rows)ここで、unknown型のリテラル'b'はtextへと解決されます。rows)numeric型のリテラル1.2とinteger型の値1は、暗黙的にnumericにキャスト可能です。したがって、この型が使用されます。rows)ここで、real型を暗黙的にinteger型にキャストすることはできませんが、integer型を暗黙的にreal型にキャストすることはできるため、UNIONの結果データ型はreal型として解決されます。