Potresti provare un outer join. Ad esempio, potresti trovare righe presenti nella tabella first
ma assente nella tabella second
in questo modo (non testato):
SELECT first.a, first.b, first.c FROM first LEFT JOIN second USING(a,b,c)
WHERE second.a IS NULL
Il join ti dà una tabella contenente tutte le righe presenti in first
, in questo modo:
first.a first.b first.c second.a second.b second.c
a1 b1 c1 NULL NULL NULL
a2 b2 c2 a2 b2 c2
Ora devi solo eseguire una query per le righe con second.a IS NULL
per trovare righe assenti in second
.
Le prestazioni potrebbero essere scarse poiché devi unirti su tutte le colonne.