While our data is sometimes nicely managed with surrogate primary key joins, often times older tables can feature join conditions with complex natural keys.