SELECT

Načte sady výsledků dotazu z jedné nebo více tabulek.

Syntax

[ WITH with_query [ , ... ] ]
select_statement [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select_statement, ... ]
  [ ORDER BY { expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [ , ... ] } ]
  [ SORT BY { expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [ , ... ] } ]
  [ CLUSTER BY { expression [ , ... ] } ]
  [ DISTRIBUTE BY { expression [, ... ] } ]
  [ WINDOW { named_window [ , WINDOW named_window, ... ] } ]
  [ LIMIT { ALL | expression } ]

I když select_statement je definován jako

SELECT [ hints , ... ] [ ALL | DISTINCT ] { named_expression [ , ... ] }
  FROM { from_item [ , ... ] }
  [ PIVOT clause ]
  [ LATERAL VIEW clause ] [ ... ]
  [ WHERE boolean_expression ]
  [ GROUP BY expression [ , ... ] ]
  [ HAVING boolean_expression ]

Parametry

  • with_query

    Jeden nebo více běžných výrazů tabulek před hlavním blokem dotazu. Na tyto výrazy tabulky se dá odkazovat později v FROM klauzuli. To je užitečné pro abstrakci opakovaných bloků poddotaz v FROM klauzuli a ke zlepšení čitelnosti dotazu.

  • pomocné parametry

    Nápověda pomocníkům pro Spark usnadňuje rozhodování. Spark podporuje hinty, které ovlivňují výběr strategií spojování a změny oddílů dat.

  • ALL

    Vyberte všechny vyhovující řádky z relace. Ve výchozím nastavení povoleno.

  • ZNAK

    Po odebrání duplicitních hodnot do výsledků vyberte všechny vyhovující řádky z relace.

  • named_expression

    Výraz s přiřazeným názvem Označuje výraz sloupce.

    Syntaxe:expression [AS] [alias]

  • from_item

    Zdroj vstupu pro dotaz Jeden z následujících produktů:

  • Otočný

    Používá se pro perspektivu dat; agregované hodnoty můžete získat na základě konkrétní hodnoty sloupce.

  • BOČNÍ POHLED

    Používá se ve spojení s funkcemi generátoru EXPLODE , jako je například, který generuje virtuální tabulku obsahující jeden nebo více řádků. LATERAL VIEW použije řádky na každý původní výstupní řádek.

  • ,

    Filtruje výsledek FROM klauzule na základě zadaných predikátů.

  • GROUP BY

    Výrazy, které se používají k seskupení řádků. Používá se ve spojení s agregačními funkcemi ( MIN , MAX , COUNT , SUM , AVG ) k seskupení řádků na základě výrazů seskupení a agregovaných hodnot v každé skupině. Je-li FILTER klauzule připojena k agregační funkci, jsou do této funkce předány pouze odpovídající řádky.

  • HAVING

    Predikáty, pomocí kterých GROUP BY jsou filtrovány řádky vytvořené nástrojem. HAVINGKlauzule slouží k filtrování řádků po provedení seskupení. Zadáte HAVING -li bez GROUP BY , znamená to, že GROUP BY bez seskupovacích výrazů (globální agregace).

  • ORDER BY

    Pořadí řádků úplné sady výsledků dotazu. Výstupní řádky jsou seřazené napříč oddíly. Tento parametr se vzájemně vylučuje s parametry SORT BY , a CLUSTER BY DISTRIBUTE BY nelze je zadat současně.

  • SEŘADIT PODLE

    Řazení, podle kterého jsou řádky seřazeny v rámci jednotlivých oddílů. Tento parametr se vzájemně vylučuje s ORDER BY a CLUSTER BY a nelze ho zadat společně.

  • CLUSTER PODLE

    Sada výrazů, které slouží k přerozdělení a řazení řádků. Použití této klauzule má stejný účinek jako použití DISTRIBUTE BY a SORT BY společně.

  • DISTRIBUOVAT PODLE

    Sada výrazů, podle které jsou řádky výsledků znovu rozděleny. Tento parametr se vzájemně vylučuje s ORDER BY a CLUSTER BY a nelze ho zadat společně.

  • POČTU

    Maximální počet řádků, které mohou být vráceny příkazem nebo poddotazem. Tato klauzule se většinou používá ve spojení s nástrojem ORDER BY k vytvoření deterministického výsledku.

  • boolean_expression

    Libovolný výraz, který je vyhodnocen jako typ výsledku Boolean . Dva nebo více výrazů lze kombinovat pomocí logických operátorů ( AND , OR ).

  • expression

    Kombinace jedné nebo více hodnot, operátorů a funkcí jazyka SQL, které se vyhodnotí na hodnotu.

  • named_window

    Aliasy pro jednu nebo více specifikací zdrojového okna. Na specifikace okna zdroje lze odkazovat v definicích okna v dotazu.