Question: what is the difference between an attribute join and a spatial join?
Answer: Join by location or spatial join uses spatial associations between the layers involved to append fields from one layer to another. Spatial joins are different from attribute and relationship class joins in that they are not dynamic and require the results to be saved to a new output layer.