Vous pouvez essayer une jointure externe. Par exemple, vous pouvez trouver les lignes présentes dans la table first
mais absent de la table second
comme ceci (non testé):
SELECT first.a, first.b, first.c FROM first LEFT JOIN second USING(a,b,c)
WHERE second.a IS NULL
La jointure vous donne une table contenant toutes les lignes présentes dans first
, comme ceci :
first.a first.b first.c second.a second.b second.c
a1 b1 c1 NULL NULL NULL
a2 b2 c2 a2 b2 c2
Maintenant, vous n'avez plus qu'à interroger les lignes avec second.a IS NULL
pour trouver les lignes absentes en second
.
Les performances peuvent être médiocres car vous devez joindre toutes les colonnes.