docstr: Get the SQL query that is equivalent to the relation
  
  Returns:
      str: the sql query
  
  Examples:
      >>> relation = cursor.table("sample_table").project('i')
      >>> relation.sql_query()
docstr_tok: ["Get","the","SQL","query","that","is","equivalent","to","the","relation","Returns",":","str",":","the","sql","query","Examples",":",">",">",">","relation","=","cursor.table","(","``","sample_table","''",")",".project","(","'","i","'",")",">",">",">","relation.sql_query","(",")"]
code: def sql_query(self) -> str:
      """Get the SQL query that is equivalent to the relation
  
      Returns:
          str: the sql query
  
      Examples:
          >>> relation = cursor.table("sample_table").project('i')
          >>> relation.sql_query()
      """
  
      return str(self._query_node)
  
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 11 for calling the EvaDBQuery obj's underlying member method code with example usage: obj.sql_query() and returns: str