<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def select(self, sql):
 """ Execute arbitrary SQL select query against the database and return the results. :param sql: SQL select query to execute :type sql: string :returns: SQL select query result :rtype: list of lists :raises: MySQLdb.Error """

        cursor = self.connection.cursor()
        try:
            cursor.execute(sql)
            results = [list(i) for i in cursor.fetchall()]
        finally:
            cursor.close()
        return results