public inbox for [email protected]  
help / color / mirror / Atom feed
From: David G. Johnston <[email protected]>
To: [email protected] <[email protected]>
To: [email protected] <[email protected]>
Subject: Re: UNION does not append
Date: Wed, 8 Oct 2025 07:29:06 -0400
Message-ID: <CAKFQuwYHOB1Wp7ZxbHveNrm2PiczNFjy5dPQoJtxT2zJyiU6UA@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>

On Tuesday, October 7, 2025, PG Doc comments form <[email protected]>
wrote:

> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/18/queries-union.html
> Description:
>
> I'm very confused about this statement in the documentation of UNION:
> "UNION
> effectively appends the result of query2 to the result of query1".
> Because, if I append one item to a list, it is still the same list. But in
> the case of UNION, it's ""copied"" into a new anonymous derived-table.
> Alias
> don't work anymore, which I would expect if I just append some rows. Or is
> it like "effectively" means that this statement is not to be taken
> literally? In that case I would really appreciate a more detailed
> description, that after the UNION with tables a new anonymous derived-table
> is returned and the original first table can't be accessed anymore. Thank
> you for taking your time to read this even if you disagree.
>

Yes, if you place a set-operation using query into a subquery context the
subquery has to be given its own name: and the individual from clause
relations of the contained query are not exposed.  This is just how
subqueries work.

If you don’t place it in a subquery the rows are just sent to the client.

In both cases the word append simply means “using the column structure of
the first component query”.  Though Imsuppose that is strictly “column
names” since types can be changed to a more encompassing one if needed.

David J.


reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: UNION does not append
  In-Reply-To: <CAKFQuwYHOB1Wp7ZxbHveNrm2PiczNFjy5dPQoJtxT2zJyiU6UA@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox