docs: def build_joins(self):
          """
          Generates the sql for the JOIN portion of the query
  
          :return: the JOIN portion of the query
          :rtype: str
          """
          join_parts = []
  
          # get the sql for each join object
          for join_item in self.joins:
              join_parts.append(join_item.get_sql())
  
          # if there are any joins, combine them
          if len(join_parts):
              combined_joins = ' '.join(join_parts)
              return '{0} '.format(combined_joins)
          return ''