Запитването ви изглежда напълно валидно:
SELECT fk_id_tbl2 AS some_name
FROM table1
EXCEPT -- you may want to use EXCEPT ALL
SELECT pk_id
FROM table2;
Имена на колонии са без значение за заявката. Само типове данни трябва да съвпада. Името на изходната колона на вашата заявка е fk_id_tbl2
, само защото това е името на колоната в първия SELECT
. Можете да използвате произволен псевдоним.
Това, което често се пренебрегва:фините разлики между EXCEPT
(което сгъва дубликати) и EXCEPT ALL
- което запазва всички отделни несъответстващи редове. Още обяснения и други начини да направите същото, някои от които са много по-гъвкави:
- Изберете редове, които не присъстват в друга таблица
Подробности за EXCEPT
в ръководството.