The Tuple-based Nested-loop Join Algorithm