class_docstr: Executes a SELECT query.
  
  Parameters
  ----------
  df : pd.DataFrame
      Dataframe to query.
  selected_columns : List[Text]
      List of columns to select.
  where_conditions : List[List[Text]]
      List of where conditions.
  order_by_conditions : Dict[Text, List[Text]]
      Dictionary of order by conditions.
  result_limit : int
      Number of results to return.
class_docstr_tok: ["Executes","a","SELECT","query",".","Parameters","--","--","--","--","--","df",":","pd.DataFrame","Dataframe","to","query",".","selected_columns",":","List","[","Text","]","List","of","columns","to","select",".","where_conditions",":","List","[","List","[","Text","]","]","List","of","where","conditions",".","order_by_conditions",":","Dict","[","Text",",","List","[","Text","]","]","Dictionary","of","order","by","conditions",".","result_limit",":","int","Number","of","results","to","return","."]
code: def __init__(
      self,
      df: pd.DataFrame,
      selected_columns: List[Text],
      where_conditions: List[List[Text]],
      order_by_conditions: List,
      result_limit: int = None,
  ):
      super().__init__(df, where_conditions)
      self.selected_columns = selected_columns
      self.order_by_conditions = order_by_conditions
      self.result_limit = result_limit
  
imports: import pandas
  from mindsdb_sql.parser import ast
  from typing import Text, List, Dict, Tuple
  from mindsdb_sql.parser import ast
  from mindsdb.integrations.utilities.sql_utils import sort_dataframe
  from mindsdb.integrations.handlers.utilities.query_utilities.base_query_utilities import BaseQueryParser
  from mindsdb.integrations.handlers.utilities.query_utilities.base_query_utilities import BaseQueryExecutor
label_desc: Use image node_id 1 to create a new SELECTQueryExecutor object from inherited base classes: BaseQueryExecutor with example: obj = SELECTQueryExecutor(df, selected_columns, where_conditions, order_by_conditions, result_limit)