DROP TABLE source;
CREATE TABLE source
(
id int,
name varchar(1)
);
DROP TABLE target;
CREATE TABLE target
(
id int,
name varchar(1)
);
INSERT INTO source VALUES (1, 'A');
INSERT INTO source VALUES (2, 'B');
INSERT INTO source VALUES (3, 'C');
INSERT INTO source VALUES (4, 'D');
INSERT INTO target VALUES (1, 'A');
INSERT INTO target VALUES (2, 'B');
INSERT INTO target VALUES (4, 'X');
INSERT INTO target VALUES (5, 'F');
select * from source;
select * from target;
select s.id,'New in Source' as Comment
from source s
left join target t
on s.id = t.id
where t.id is NULL
union
select s.id,'New in Target' as Comment
from source s
right join target t
on s.id = t.id
where s.id is NULL
union
select s.id,'Mismatch' as Comment
from source s
join target t
on s.id = t.id
and s.name <> t.name