class_docstr: Parses a SELECT query into its component parts.
  
  Parameters
  ----------
  query : ast.Select
      Given SQL SELECT query.
  table : Text
      Name of the table to query.
  columns : List[Text]
      List of columns in the table.
class_docstr_tok: ["Parses","a","SELECT","query","into","its","component","parts",".","Parameters","--","--","--","--","--","query",":","ast.Select","Given","SQL","SELECT","query",".","table",":","Text","Name","of","the","table","to","query",".","columns",":","List","[","Text","]","List","of","columns","in","the","table","."]
docstr: Parses a SQL SELECT statement into its components: SELECT, WHERE, ORDER BY, LIMIT.
docstr_tok: ["Parses","a","SQL","SELECT","statement","into","its","components",":","SELECT",",","WHERE",",","ORDER","BY",",","LIMIT","."]
code: def parse_query(
      self,
  ) -> Tuple[List[Text], List[List[Text]], Dict[Text, List[Text]], int]:
      """
      Parses a SQL SELECT statement into its components: SELECT, WHERE, ORDER BY, LIMIT.
      """
      selected_columns = self.parse_select_clause()
      where_conditions = self.parse_where_clause()
      order_by_conditions = self.parse_order_by_clause()
      result_limit = self.parse_limit_clause()
  
      return (
          selected_columns,
          where_conditions,
          order_by_conditions,
          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 2 for calling the SELECTQueryParser obj's underlying member method code with example usage: obj.parse_query() and returns: selected_columns,  where_conditions,  order_by_conditions,  result_limit