Twoje zapytanie wydaje się całkowicie poprawne:
SELECT fk_id_tbl2 AS some_name
FROM table1
EXCEPT -- you may want to use EXCEPT ALL
SELECT pk_id
FROM table2;
Kolumny nazwy są nieistotne dla zapytania. Tylko typy danych musi pasować. Nazwa kolumny wyjściowej zapytania to fk_id_tbl2
, tylko dlatego, że jest to nazwa kolumny w pierwszym SELECT
. Możesz użyć dowolnego aliasu.
Co jest często pomijane:subtelne różnice między EXCEPT
(która składa duplikaty) i EXCEPT ALL
- która zachowuje wszystkie indywidualne niedopasowane wiersze.Więcej wyjaśnień i inne sposoby na zrobienie tego samego, niektóre z nich znacznie bardziej elastyczne:
- Wybierz wiersze, których nie ma w innej tabeli
Szczegóły dotyczące EXCEPT
w instrukcji.