Data Joins
Transformers that join data together are also very commonly used in FME. It's so related to filtering that the transformer category is called Filters and Joins.
What is a Data Join?
Whereas Filter transformers divide data into different streams, other transformers bring data streams together, merging the data according to a set of user-defined conditions. Here (for example) incoming streams A and B are joined together into a new stream, C:
To merge data in FME Workbench it is necessary to do more than just draw two connections into the same input port; that will only combine the data into a single stream, not fuse it together. To truly merge data it is necessary to define a relationship for the basis of the join, and this is done with one of a number of transformers.
These transformers allow you to merge not just data that is being processed by the workspace, but provide the ability to form a join against a database or other external dataset.
Joins in FME can either be based on matching attribute values (DatabaseJoiner or FeatureMerger), or they can be based on a spatial relationship such as an overlap between features or proximity from one feature to another (NeighborFinder or SpatialRelator).