Megosztás a következőn keresztül:


SELECT záradék

A következőkre vonatkozik:igen jelöléssel Databricks SQL, igen jelöléssel Databricks Runtime

Összegyűjti az al-lekérdezésből visszaadandó oszlopokat, beleértve a kifejezések, aggregációk és a duplikációk eltávolításának végrehajtását.

Szintaxis

SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]

Paraméterek

  • tippek

    A tippek segítenek az Azure Databricks optimalizálójának jobb tervezési döntések meghozatalában. Az Azure Databricks olyan tippeket támogat, amelyek befolyásolják az összekapcsolási stratégiák kiválasztását és az adatok újraparticionálását.

  • ÖSSZES

    Jelölje ki az összes egyező sort a táblahivatkozásokból. Alapértelmezés szerint engedélyezve van.

  • Különböző

    Jelölje ki az összes egyező sort a táblahivatkozásokból, miután eltávolította az ismétlődéseket az eredményekben.

  • megnevezett_kifejezés

    Nem kötelezően hozzárendelt névvel rendelkező kifejezés.

    • kifejezés

      Egy vagy több érték, operátor és SQL-függvény kombinációja, amely kiértékeli az értéket.

    • column_alias

      Egy nem kötelező jellegű oszlopazonosító, amely a kifejezés eredményét nevezi el. Ha nincs megadva column_alias, a Databricks SQL generál egyet.

  • star_clause

    Rövidítés a záradék összes hivatkozható oszlopának FROM vagy egy adott táblahivatkozás oszlopainak vagy mezőinek a FROM záradékban való elnevezéséhez.

Példák

-- select all referencable columns from all tables
> SELECT * FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  1   2   3   4

-- select all referencable columns from one table
> SELECT t2.* FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  3   4

-- select all referencable columns from all tables except t2.c4
> SELECT * EXCEPT(c4) FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  1   2   3

-- select all referencable columns from a table, except a nested field.
> SELECT * EXCEPT(c2.b) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  1  { "a" : 2 }

-- Removing all fields results in an empty struct
> SELECT * EXCEPT(c2.b, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  1  { }

-- Overlapping names result in an error
> SELECT * EXCEPT(c2, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  Error: EXCEPT_OVERLAPPING_COLUMNS