SELECT * --todos los que existen en t1 y no en t2 FROM tabla1 t1 LEFT OUTER JOIN tabla2 t2 ON t1.campo1 = t2.campo1 AND t1.campo2 = t2.campo2 AND t1.campo3 = t2.campo3 AND t2.campo4 IS NULL UNION ALL SELECT * --todos los que existen en t2 y no en t1 FROM tabla1 t1 RIGHT OUTER JOIN tabla2 t2 ON t1.campo1 = t2.campo1 AND t1.campo2 = t2.campo2 AND t1.campo3 = t2.campo3 AND t1.campo4 IS NULL