SELECT

Hämtar resultat uppsättningar från en eller flera tabeller.

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 } ]

Medan select_statement definieras som

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

Parametrar

  • with_query

    Ett eller flera vanliga tabell uttryck före huvud frågans block. Dessa tabell uttryck kan refereras till senare i- FROM satsen. Detta är användbart för att sammanställa upprepade under frågas block i- FROM satsen och förbättra frågans läsbarhet.

  • Tips

    Tips hjälper Spark-optimering att fatta bättre planerings beslut. Spark stöder tips som påverkar valet av kopplings strategier och partitionerar om data.

  • ALL

    Välj alla matchande rader från relationen. Aktiverat som standard.

  • KONTROLLSTÄMPEL

    Välj alla matchande rader från relationen efter att dubbletter har tagits bort i resultaten.

  • named_expression

    Ett uttryck med ett tilldelat namn. Anger ett kolumn uttryck.

    Syntax:expression [AS] [alias]

  • from_item

    En källa för frågan. Något av följande:

  • VRIDNING

    Används för data perspektiv; Du kan hämta de aggregerade värdena baserat på ett bestämt kolumn värde.

  • LATERAL VY

    Används tillsammans med Generator funktioner som EXPLODE , som genererar en virtuell tabell som innehåller en eller flera rader. LATERAL VIEW använder raderna på varje ursprunglig utmatnings rad.

  • WHERE

    Filtrerar resultatet av FROM satsen baserat på de angivna predikatet.

  • GROUP BY

    De uttryck som används för att gruppera raderna. Detta används tillsammans med mängd funktioner (,, MIN , MAX COUNT SUM , AVG ) för att gruppera rader baserat på grupp uttryck och mängd värden i varje grupp. När en FILTER sats är kopplad till en mängd funktion skickas bara de matchande raderna till den funktionen.

  • HAVING

    De predikat som raderna som genereras av GROUP BY filtreras efter. HAVINGSatsen används för att filtrera rader efter att grupperingen har utförts. Om du anger HAVING utan GROUP BY , indikerar det ett GROUP BY utan grupperande uttryck (global mängd).

  • ORDNA EFTER

    En sortering av raderna i hela frågans resultat uppsättning. De utgående raderna ordnas över partitionerna. Den här parametern är ömsesidigt uteslutande med SORT BY , CLUSTER BY och DISTRIBUTE BY och kan inte anges tillsammans.

  • SORTERA EFTER

    En ordning som raderna sorteras efter i varje partition. Den här parametern är ömsesidigt uteslutande med ORDER BY och CLUSTER BY och kan inte anges tillsammans.

  • KLUSTER MED

    En uppsättning uttryck som används för att partitionera om och sortera raderna. Användningen av den här satsen har samma resultat som när du använder DISTRIBUTE BY och SORT BY tillsammans.

  • DISTRIBUERA MED

    En uppsättning uttryck med vilka resultat rader partitioneras om. Den här parametern är ömsesidigt uteslutande med ORDER BY och CLUSTER BY och kan inte anges tillsammans.

  • GRÄNSERNA

    Det maximala antalet rader som kan returneras av en instruktion eller under fråga. Den här satsen används främst i samband med ORDER BY för att producera ett deterministiskt resultat.

  • boolean_expression

    Ett uttryck som utvärderas till en resultat typ Boolean . Du kan kombinera två eller flera uttryck tillsammans med de logiska operatorerna ( AND , OR ).

  • expression

    En kombination av ett eller flera värden, operatorer och SQL-funktioner som utvärderas till ett värde.

  • named_window

    Alias för en eller flera käll fönster. Du kan referera till käll fönstrets specifikationer i definitionerna för Windows i frågan.