SELECTSELECT

1つ以上のテーブルから結果セットを取得します。Retrieves result sets from one or more tables.

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

select_statementがとして定義されている場合While select_statement is defined as

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

パラメーターParameters

  • with_querywith_query

    メインクエリブロックの前にある1つ以上の 共通テーブル式 。これらのテーブル式は、後で句で参照でき FROM ます。One or more common table expressions before the main query block.These table expressions can be referenced later in the FROM clause. 句内の繰り返しサブクエリブロックを抽象化 FROM して、クエリの読みやすさを向上させるには、この方法が役立ちます。This is useful to abstract out repeated subquery blocks in the FROM clause and improves readability of the query.

  • ヒントhints

    ヒントを使用すると、Spark オプティマイザーが計画上の決定をより適切に行うことができます。Hints help the Spark optimizer make better planning decisions. Spark は、結合戦略の選択とデータの再分割に影響するヒントをサポートしています。Spark supports hints that influence selection of join strategies and repartitioning of the data.

  • ALLALL

    リレーションシップの一致するすべての行を選択します。Select all matching rows from the relation. 既定で有効です。Enabled by default.

  • DISTINCTDISTINCT

    結果内の重複部分を削除した後、リレーションシップからすべての一致する行を選択します。Select all matching rows from the relation after removing duplicates in results.

  • named_expressionnamed_expression

    割り当てられた名前を持つ式。An expression with an assigned name. 列の式を表します。Denotes a column expression.

    構文:expression [AS] [alias]Syntax: expression [AS] [alias]

  • from_itemfrom_item

    クエリの入力のソース。A source of input for the query. 次のいずれか:One of the following:

  • 旋回PIVOT

    データのパースペクティブに使用されます。特定の列の値に基づいて集計値を取得できます。Used for data perspective; you can get the aggregated values based on specific column value.

  • 横ビューLATERAL VIEW

    などのジェネレーター関数と組み合わせて使用されます。この関数 EXPLODE は、1つ以上の行を含む仮想テーブルを生成します。Used in conjunction with generator functions such as EXPLODE, which generates a virtual table containing one or more rows. LATERAL VIEW 各元の出力行に行を適用します。LATERAL VIEW applies the rows to each original output row.

  • WHEREWHERE

    指定され FROM た述語に基づいて句の結果をフィルター処理します。Filters the result of the FROM clause based on the supplied predicates.

  • グループ化GROUP BY

    行をグループ化するために使用される式。The expressions that are used to group the rows. これは、集計関数 (、、、、) と共に使用して、グループ MIN MAX COUNT SUM AVG 化式と各グループの集計値に基づいて行をグループ化します。This is used in conjunction with aggregate functions (MIN, MAX, COUNT, SUM, AVG) to group rows based on the grouping expressions and aggregate values in each group. FILTER句が集計関数に関連付けられている場合は、一致する行だけがその関数に渡されます。When a FILTER clause is attached to an aggregate function, only the matching rows are passed to that function.

  • HAVINGHAVING

    によって生成される行のフィルター処理に使用する述語 GROUP BYThe predicates by which the rows produced by GROUP BY are filtered. HAVING句は、グループ化が実行された後に行をフィルター処理するために使用されます。The HAVING clause is used to filter rows after the grouping is performed. を指定せずにを指定すると、 HAVING GROUP BY GROUP BY グループ化式 (グローバル集計) がないことを示します。If you specify HAVING without GROUP BY, it indicates a GROUP BY without grouping expressions (global aggregate).

  • ORDER BYORDER BY

    クエリの完全な結果セットの行の順序。An ordering of the rows of the complete result set of the query. 出力行は、パーティションに対して順序付けされます。The output rows are ordered across the partitions. このパラメーターは SORT BY 、、、およびと同時に使用 CLUSTER BY DISTRIBUTE BY することはできません。また、一緒に指定することもできません。This parameter is mutually exclusive with SORT BY, CLUSTER BY, and DISTRIBUTE BY and cannot be specified together.

  • 並べ替えSORT BY

    各パーティション内で行が順序付けられる順序。An ordering by which the rows are ordered within each partition. このパラメーターは、とで相互に排他的であり ORDER BY CLUSTER BY 、同時に指定することはできません。This parameter is mutually exclusive with ORDER BY and CLUSTER BY and cannot be specified together.

  • クラスター化CLUSTER BY

    行の再パーティション分割と並べ替えに使用する式のセット。A set of expressions that is used to repartition and sort the rows. この句を使用すると、とを一緒に使用した場合と同じ効果があり DISTRIBUTE BY SORT BY ます。Using this clause has the same effect of using DISTRIBUTE BY and SORT BY together.

  • 配布する方法DISTRIBUTE BY

    結果行を再パーティション分割する式のセット。A set of expressions by which the result rows are repartitioned. このパラメーターは、とで相互に排他的であり ORDER BY CLUSTER BY 、同時に指定することはできません。This parameter is mutually exclusive with ORDER BY and CLUSTER BY and cannot be specified together.

  • 制限LIMIT

    ステートメントまたはサブクエリで返すことができる行の最大数。The maximum number of rows that can be returned by a statement or subquery. この句は、主にと組み合わせて ORDER BY 決定的な結果を生成するために使用されます。This clause is mostly used in the conjunction with ORDER BY to produce a deterministic result.

  • boolean_expressionboolean_expression

    結果の型に評価される任意の式 BooleanAny expression that evaluates to a result type Boolean. 論理演算子 (、) を使用して、2つ以上の式を組み合わせることができ AND OR ます。You can combine two or more expressions together using the logical operators ( AND, OR ).

  • 式 (expression)expression

    値に評価される1つ以上の値、演算子、および SQL 関数の組み合わせ。A combination of one or more values, operators, and SQL functions that evaluates to a value.

  • named_windownamed_window

    1つ以上のソースウィンドウ仕様のエイリアス。Aliases for one or more source window specifications. ソースウィンドウの指定は、クエリのウィンドウ定義で参照できます。The source window specifications can be referenced in the window definitions in the query.