sql >> Databasteknik >  >> RDS >> Mysql

skillnad mellan tabeller

Du kan prova en yttre sammanfogning. Du kan till exempel hitta rader i tabellen first men frånvarande i tabellen second så här (ej testat):

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

Sammanfogningen ger dig en tabell som innehåller alla rader som finns i first , så här:

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

Nu behöver du bara fråga efter rader med second.a IS NULL för att hitta rader som saknas inom second .

Prestanda kan vara dålig eftersom du måste gå med över alla kolumner.



  1. Konvertera MySQL-skript till SQL Server

  2. Långsam fråga:hitta skillnaden mellan värden baserat på min och max i en annan kolumn för varje grupp

  3. Kan jag lagra bilder i MySQL

  4. använder virtuella fält för att summera värden i cakephp