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.