A marketing analyst is combining two datasets: one containing campaign IDs and spend, and another containing campaign IDs and impressions. The first dataset has 1,200 rows and the second has 950 rows. After an inner join on campaign_id, the result has 1,050 rows. Which statement best explains this result?
An inner join returns only the intersection of keys from both tables. With 1,200 and 950 rows, the result of 1,050 means many campaigns matched but some from each side did not. This is the expected behavior of an inner join and explains why the output is smaller than the larger input while still substantial, reflecting partial overlap between the two campaign lists.
Why this answer
An inner join returns only rows whose join key appears in both inputs. Given 1,200 and 950 source rows, an output of 1,050 indicates substantial but incomplete overlap, which is exactly what an inner join produces. A Cartesian product, cross join, or referential integrity enforcement would not yield this count.
The analyst observed normal inner join behavior reflecting partial key matching between the two campaign datasets.
Exam trap
The trap here is assuming any row count change during a join indicates an error, when an inner join legitimately reduces rows to the matching key intersection.