Sua consulta parece perfeitamente válida:
SELECT fk_id_tbl2 AS some_name
FROM table1
EXCEPT -- you may want to use EXCEPT ALL
SELECT pk_id
FROM table2;
Coluna nomes são irrelevantes para a consulta. Apenas tipos de dados deve combinar. O nome da coluna de saída da sua consulta é
fk_id_tbl2 , só porque é o nome da coluna no primeiro SELECT . Você pode usar qualquer alias. O que muitas vezes é esquecido:as diferenças sutis entre
EXCEPT (que dobra duplicatas) e EXCEPT ALL - que mantém todas as linhas individuais não correspondidas. Mais explicações e outras maneiras de fazer o mesmo, algumas delas muito mais flexíveis:- Selecione as linhas que não estão presentes em outra tabela
Detalhes para
EXCEPT no manual.