Din forespørgsel ser ud til at være helt gyldig:
SELECT fk_id_tbl2 AS some_name
FROM table1
EXCEPT -- you may want to use EXCEPT ALL
SELECT pk_id
FROM table2;
Kolonne navne er irrelevante for forespørgslen. Kun datatyper skal matche. Outputkolonnenavnet på din forespørgsel er fk_id_tbl2
, bare fordi det er kolonnenavnet i den første SELECT
. Du kan bruge et hvilket som helst alias.
Hvad der ofte overses:de subtile forskelle mellem EXCEPT
(som folder dubletter) og EXCEPT ALL
- som holder alle individuelle umatchede rækker. Flere forklaringer og andre måder at gøre det samme på, nogle af dem meget mere fleksible:
- Vælg rækker, der ikke findes i en anden tabel
Detaljer for EXCEPT
i manualen.