The Hash-Multi-Join primitive is a combined set of Hash-Join, Hash-Semi-Join, and Hash-Anti-Join. A control flag is used to determine which kind of Join to perform. The three Join algorithms share the most part of control logic and first in first out (FIFO) resource, so that the resource consumption is acceptable and well suited in a SLR.