O algoritmo merge join requer que ambas as tabelas estejam ordenadas pelo atributo de junção. O algoritmo utiliza as duas tabelas em simultâneo, na medida em que obtém o primeiro tuplo de cada tabela de input, e compara se o atributo de junção de cada tuplo é igual. Se for, então retorna a junção dos 2 tuplos, e obtém o 2º tuplo da 2ª tabela de input, e repete os passos acima descritos. Se não forem iguais, e se o 1º tuplo da 1ª tabela de input for menor que o 1º tuplo da 2ª tabela de input, então obtém o próximo tuplo da 2ª tabela de input e repete os passos atrás. Se for maior, então o obtém o próximo tuplo da 2ª tabela de input.