code: def __init__(
      self,
      evadb: EvaDBDatabase,
      query_node: Union[AbstractStatement, TableRef],
      alias: Alias = None,
  ):
      self._evadb = evadb
      self._query_node = query_node
      self._alias = alias
  
imports: from typing import Union
  import pandas
  from evadb.database import EvaDBDatabase
  from evadb.interfaces.relational.utils import create_limit_expression, create_star_expression, handle_select_clause, sql_predicate_to_expresssion_tree, sql_string_to_expresssion_list, string_to_lateral_join, try_binding
  from evadb.models.storage.batch import Batch
  from evadb.parser.alias import Alias
  from evadb.parser.select_statement import SelectStatement
  from evadb.parser.statement import AbstractStatement
  from evadb.parser.table_ref import JoinNode, TableRef
  from evadb.parser.types import JoinType
  from evadb.parser.utils import parse_sql_orderby_expr
  from evadb.server.command_handler import execute_statement
label_desc: Use image node_id 1 to create a new EvaDBQuery object  with example: obj = EvaDBQuery(evadb, query_node, alias)