1. A method for executing an outer join in a relational database distributed across multiple hosts to process a query, the method comprising: creating by at least one computing device tuple lists for relations in the relational database and for joins referencing each relation; performing by the at least one computing device a sequence of semijoin reduction steps on the joins; and adding by the at least one computing device virtual connector pairs to one or more reduced tuple lists to connect the one or more reduced tuple lists to at least one other tuple list to enable the query to be processed, the virtual connector pairs are not visible in a result set and serve to let correct tuples to be created.