@staticmethod
def query_data(database, sql_statement):
    """
        query a table by sql statement and retrieve the given columns
        :param database: Database, reference of the database
        :param sql_statement: str, sql statement
        :return: StreamedResultSet, Iterator with list as rows, each list has the values of the columns
        """
    with database.snapshot() as snapshot:
        results = snapshot.execute_sql(sql_statement)
        return results
