'Return a clause created by joining together the clauses of
all subqueries with the string joiner (padded by spaces).'

def clause_with_joiner(self, joiner):

    clause_parts = []
    subvals = []
    for subq in self.subqueries:
        (subq_clause, subq_subvals) = subq.clause()
        if (not subq_clause):
            return (None, ())
        clause_parts.append((('(' + subq_clause) + ')'))
        subvals += subq_subvals
    clause = (('    ' + joiner) + '    ').join(clause_parts)
    return (clause, subvals)
