Join two CSV datasets
Combines two datasets on one or more key-column pairs — like a database join. Supports inner, left, right, full, their exclusive (unmatched-only) variants, and cross. Key columns can have different names on each side.
| Field | Description |
|---|---|
| Left datasetrequired | Which variable to use as the left dataset. |
| Right datasetrequired | Which variable to use as the right dataset. |
| Join type | inner, left, right, full, an exclusive (unmatched-only) variant, or cross (no key needed). |
| Key pairs | One or more left-column ↔ right-column pairs to match rows on. Case-insensitive matching is optional. |
| Output columns | Optional: project the output to specific columns with aliases (blank = every column). |
| Remove empty columns from results | Drops columns that are empty in every output row — common after outer joins. |
| Output variable namerequired | Name this node's result so downstream nodes can select it. Auto-suggested; edit freely. |
Open the node's real configuration, run it on the sample below, and see the result. Nothing is saved.
Sample input · left
| id | name |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Cara |
Sample input · right
| id | city |
|---|---|
| 1 | Tunis |
| 2 | Sfax |
| 4 | Sousse |
This is a live preview — the sample and results are temporary and never saved.
Unmatched rows get real blank ("") cells for the missing side, never missing columns — the output always has the same column set. A colliding right column is renamed to name_right rather than silently overwriting the left value.