Natürlich geht das mit einer Abfrage!
Wenn Du weißt, dass nur in einer Tabelle Datensätze dazu gekommen sind, dann ist es ziemlich einfach:
SELECT * FROM table1 LEFT JOIN table2 ON table1.feldname=table2.feldname WHERE table2.feldname IS NULL
Damit werden alle ausgegeben, die in table2 nicht vorhanden sind.
Wenn es in beiden Tabellen neue Tupels (Datensätze) gibt, dann ists etwas komplizierter. Da müsste ich jetzt allerdings erst die Abfrage raussuchen. Dabei würde man, meines Wissens, zuerst mit einem Equi-Join das kartesische Produkt aufbauen und dann mit zwei LEFT JOINs einen Zusatz zum kartesischen Produkt bauen und dann in den beiden Tabellen, die über den LEFT-JOIN verbunden sind, nach NULL-Werten suchen. Das Problem bei der zweiten Möglichkeit: Sie ist ätzend langsam.
Die erste Möglichkeit ist aber in jedem Fall erheblich schneller als die von Manfred vorgeschlagene.
Viele Grüße,
Matthias
P.S.: Ergänzung zu Manfred: Die Lösung geht auch ohne PRIMARY KEY. Dann würde man auf beide Vergleichsfelder einen Index setzen, zwecks Performance, und einfach den JOIN über die beide indizierten Felder durchführen.
_________________
Ha! Es compiliert! Wir können ausliefern!