Mysql
 sql >> Database >  >> RDS >> Mysql

differenza tra le tabelle

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.