By Michael Nocito, data analyst · Published August 8, 2026

By the end of this page you can compare two versions of the same table and say exactly what is different: which rows exist on only one side, which rows exist on both but disagree, which columns the disagreements are in, and how much money the whole thing accounts for. It is about twenty-five minutes, and every query and result below was run.

Here is what to do today, on any two tables that are supposed to match. After you compare the row counts, compare a total as well. Pick the most important numeric column and sum it on both sides. Row counts are the check that passes while the data is wrong, and a sum on the same rows is thirty seconds of extra work that catches an entire class of failure the count cannot see.

The short version: match the two tables on their key with a full outer join, then classify every key as matched, changed, source only or target only.

Two stacks of equal height that do not contain the same rows is the idea, so it gets the picture.