Bueno, el más fácil de entender, pero no necesariamente el más rápido, es probablemente algo como esto. (Pero podrías querer decir algo más con "comparar".)
-- 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);
También puede hacer esto en una sola declaración para darle una comparación visual. UNA FULL OUTER JOIN
devuelve todos los valores en ambas columnas, con valores coincidentes en la misma fila, y NULL
donde a una columna le falta un valor que está en la otra columna.
SELECT q1.column1, q2.column2 FROM query1 q1
FULL OUTER JOIN query2 q2 ON (q1.column1 = q2.column2);