On 02.08.23 21:54, PG Doc comments form wrote:
> In the provided example, the cities table and the capitals table have a
> parent-child relationship through inheritance. However, querying the cities
> table directly (e.g., SELECT name, elevation FROM cities WHERE elevation >
> 500;) will not automatically include data from the child table, capitals.
> Inheritance in PostgreSQL does not implicitly combine data from parent and
> child tables in a single query.
This observation is patently incorrect:
CREATE TABLE cities (
name text,
population real,
elevation int -- (in ft)
);
CREATE TABLE capitals (
state char(2) UNIQUE NOT NULL
) INHERITS (cities);
INSERT INTO cities (name) VALUES ('Ithaca');
INSERT INTO capitals (name, state) VALUES ('Albany', 'NY');
SELECT * FROM cities;
name | population | elevation
--------+------------+-----------
Ithaca | |
Albany | |
(2 rows)
SELECT * FROM capitals;
name | population | elevation | state
--------+------------+-----------+-------
Albany | | | NY
(1 row)