SELECT záradék (Databricks SQL)

Egy vagy több táblából álló eredményhalmazt alkot. A záradék egy olyan lekérdezés része lehet, amely közös táblakifejezéseket (CTE), beállított műveleteket és különböző egyéb SELECT záradékokat is tartalmaz.

Szintaxis

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

from_item
{ table_name [ table_alias ] |
  JOIN clause |
  table_valued_function [ table_alias ] |
  VALUES clause |
  [ LATERAL ] ( query ) [ table_alias ] }

named_expression
   expression [ column_alias ]

star_clause
   [ { table_name | view_name } . ] *

Paraméterek

  • Tippeket

    A tippek segítségével a Databricks SQL optimalizáló jobb tervezési döntéseket hozhat. A Databricks SQL támogatja azokat a tippeket, amelyek befolyásolják az illesztés stratégiák kiválasztását és az adatok újraparticionozását.

  • ALL (összes)

    Válassza ki a kapcsolat összes egyező sorát. Alapértelmezés szerint engedélyezett.

  • KÜLÖNBÖZŐ

    Válassza ki a kapcsolat összes egyező sorát, miután eltávolította az ismétlődéseket az eredményekből.

  • named_expression

    Egy nem kötelező hozzárendelt névvel is kiegészíthető kifejezés.

    • expression

      Egy vagy több érték, operátor és függvény SQL értékkel kiértékelt függvények kombinációja.

    • column_alias

      Egy nem kötelező oszlopazonosító, amely a kifejezés eredményét nevezi el. Ha nincs column_alias megtéve, a Databricks SQL származtat egyet.

  • star_clause

    Egy rövid kéz a záradék összes hivatkozható oszlopának FROM elnevezésére. Az oszlopok listája az egyes oszlopok sorrendje és az egyes oszlopok from_item sorrendje szerint van megrendelve. from_item

    • table_name

      Ha jelen van, akkor a megnevezendő oszlopok a megadott hivatkozható táblában lévőkre vannak beszűkülve.

    • view_name

      Ha meg van adva, az oszlopok kibonthatók a megadott hivatkozható nézetben lévőkre.

  • from_item

    A bemenet SELECT forrása. Az alábbiak valamelyikének telepítve kell lennie:

  • table_alias

    Opcionálisan megad egy címkét a from_item számára. Ha a table_alias tartalmazza column_identifier az -t, a számnak egyeznie kell a oszlopainak from_item számmal.

  • PIVOT

    Az adat perspektíva szempontjából használatos; Az összesített értékeket adott oszlopértékek alapján is lekértheti.

  • OLDALNÉZET

    Olyan generátori függvényekkel együtt használva, mint a , amely egy vagy több sort tartalmazó virtuális EXPLODE táblát hoz létre. LATERAL VIEW minden egyes eredeti kimeneti sorra alkalmazza a sorokat.

  • AHOL

    Szűri a FROM záradék eredményét a megadott predikátum alapján.

  • GROUP BY

    A sorok csoportosításhoz használt kifejezések. Ez az aggregátum függvényekkel (, , , , , ) együtt használva csoportosítja a sorokat a csoportosítási kifejezések és az egyes csoportok összesített MINMAX értékei COUNTSUMAVG alapján. Ha egy záradék egy aggregátum-függvényhez van csatolva, a függvénynek csak az FILTER egyező sorokat kell átadni.

  • HAVING

    Azok a predikátumok, amelyek alapján a által előállított sorok GROUP BY szűrve vannak. A HAVING záradék a sorok szűréséhez használható a csoportosítás után. Ha a nélkül a értéket adja meg, az kifejezések csoportosítása nélküli HAVINGGROUP BYGROUP BY (globális összesítés) értéket jelez.

  • JOGOSULT

    A window függvények eredményeinek szűréséhez használt predikátumokat. A használatához legalább egy window függvénynek jelen kell lennie a SELECT listában vagy QUALIFY a QUALIFY QUALIFY záradékban.

Kijelölés a Delta-táblán

A standard beállítások mellett a Delta-táblák támogatják az ebben a szakaszban ismertetett utazási SELECT időt is. Részletekért lásd: Egy tábla régebbi pillanatképének lekérdezése (idő utazása).

AS OF Szintaxis

SELECT * FROM table_identifier TIMESTAMP AS OF timestamp_expression
SELECT * FROM table_identifier VERSION AS OF version
  • timestamp_expression A a következő bármelyik lehet:
    • '2018-10-18T22:15:12.013Z', ez azt jelenti, hogy egy időbélyegzőre átvehet egy sztringet
    • cast('2018-10-18 13:36:32 CEST' as timestamp)
    • '2018-10-18', ez egy dátumsring
    • current_timestamp() - interval 12 hours
    • date_sub(current_date(), 1)
    • Bármely más kifejezés, amely vagy amely időbélyegzőre van átkűszve
  • version A egy hosszú érték, amely a kimenete alapján szerezhető DESCRIBE HISTORY table_spec be.

Sem timestamp_expression a sem nem lehet version segédlekérdezés.

Példa

SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
SELECT * FROM delta.`/mnt/delta/events` VERSION AS OF 123

@ Szintaxis

A @ szintaxissal adhatja meg az időbélyeget vagy a verziót. Az időbélyegzőnek formátumban yyyyMMddHHmmssSSS kell lennie. A verzió előtt a verzióra való előzetes függőben lévő @ verziót v adhatja meg. A tábla verziójának lekérdezéséhez például adja meg a 123events következőt: events@v123 .

Példa

SELECT * FROM events@20190101000000000
SELECT * FROM events@v123