Welnu, het gemakkelijkst te begrijpen - maar niet noodzakelijk het snelste - is waarschijnlijk zoiets als dit. (Maar misschien bedoel je iets anders met "vergelijken".)
-- Values in column1 that aren't in column2.
SELECT column1 FROM query1
WHERE column1 NOT IN (SELECT column2 FROM query2);
-- Values in column2 that aren't in column1.
SELECT column2 FROM query2
WHERE column2 NOT IN (SELECT column1 FROM query1);
-- Values common to both column1 and column2
SELECT q1.column1 FROM query1 q1
INNER JOIN query2 q2 ON (q1.column1 = q2.column2);
U kunt dit ook in één verklaring doen om u een visuele vergelijking te geven. EEN FULL OUTER JOIN
geeft alle waarden in beide kolommen terug, met overeenkomende waarden in dezelfde rij, en NULL
waarbij in één kolom een waarde ontbreekt die in de andere kolom staat.
SELECT q1.column1, q2.column2 FROM query1 q1
FULL OUTER JOIN query2 q2 ON (q1.column1 = q2.column2);