Database Design For reporting comparison results
This is common task which may be solved using FULL OUTER JOIN by any NOT NULL expression which is unique over each separate table and is present in both tables. Mismatches are detected by column compare, missing rows - by NULL value for joining expression in according table.
SELECT COALESCE(t1.id, t2.id) id, 
       CASE WHEN t1.id IS NULL 
                 THEN 'Absent in TableA' 
            WHEN t2.id IS NULL 
                 THEN 'Absent in TableB'
            WHEN t1.columnX != t2.ColumnX 
                 THEN 'Differs in ColumnX at least' -- may differ in another columns too
            WHEN t1.columnY != t2.ColumnY 
                 THEN 'Differs in ColumnY at least' -- but identical by columnX due to previous condition
            -- and so on
            ELSE 'Are identical'
            END AS MismatchType
FROM tableA t1
FULL OUTER JOIN tableB t2 ON t1.id = t2.id

If you need detailed difference diagnosis then you must build complex conditions included all columns in interest, like
WHEN t1.columnX != t2.ColumnX AND t1.columnY != t2.ColumnY AND t1.columnZ = t2.ColumnZ 
    THEN 'Differs in ColumnX and ColumnY'