Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Unterschied zwischen Tabellen

Du könntest es mit einem Outer Join versuchen. Beispielsweise könnten Sie Zeilen finden, die in der Tabelle first vorhanden sind fehlt aber in Tabelle second so (nicht getestet):

SELECT first.a, first.b, first.c FROM first LEFT JOIN second USING(a,b,c) 
WHERE second.a IS NULL

Der Join gibt Ihnen eine Tabelle, die alle Zeilen enthält, die in first vorhanden sind , etwa so:

first.a first.b first.c second.a second.b second.c
   a1      b1     c1      NULL      NULL     NULL
   a2      b2     c2       a2       b2       c2

Jetzt müssen Sie nur noch Zeilen mit second.a IS NULL abfragen um Zeilen zu finden, die in second fehlen .

Die Leistung kann schlecht sein, da Sie alle Spalten verbinden müssen.