プロダクト概要
製品の強み
適用シーン
SELECT ステートメント:ゼロ以上のテーブルからデータ行を取得します。[ WITH with_query [, ...] ]SELECT [ ALL | DISTINCT ] select_expression [, ...][ FROM from_item [, ...] ][ WHERE condition ][ GROUP BY [ ALL | DISTINCT ] grouping_element [, ...] ][ HAVING condition ][ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ][ ORDER BY expression [ ASC | DESC ] [ NULLS FIRST | NULLS LAST] [, ...] ][ LIMIT [ count | ALL ] ]
with_queryの構文は次のとおりです:subquery_table_name [ ( column_name [, ...] ) ] AS (subquery)
[ INNER ] JOINLEFT [ OUTER ] JOINRIGHT [ OUTER ] JOINFULL [ OUTER ] JOINCROSS JOINON join_condition、join_conditionを使用する場合、複数のテーブルの結合キーに対して列名を指定できます;join_columnを使用する場合、join_columnは両方のテーブルに存在する必要があります。UNION、INTERSECT および EXCEPT は複数の結果を組み合わせます。UNION は最初のクエリで生成された行と2番目のクエリで生成された行を組み合わせます。重複を排除するために、UNIONはハッシュテーブルを構築し、これによりメモリが消費されます。より良いパフォーマンスを得るためには、UNION ALLの使用が推奨されます。INTERSECT は、最初のクエリと2番目のクエリの結果の両方に存在する行のみを返します。EXCEPT は、最初のクエリ結果の行から、2番目のクエリで見つかった行を除いたものを返します。式に基づいて並べ替えられます。次に、2番目の式が最初の式の一致する値を持つ行に適用され、以降も同様に続きます。WITH x AS (SELECT a, MAX(b) AS b FROM t GROUP BY a)SELECT a, b FROM x;
WITHt1 AS (SELECT a, MAX(b) AS b FROM x GROUP BY a),t2 AS (SELECT a, AVG(d) AS d FROM y GROUP BY a)SELECT t1.*, t2.*FROM t1JOIN t2 ON t1.a = t2.a;
SELECT count(*), nationkey FROM customer GROUP BY 2;
SELECT count(*), nationkey FROM customer GROUP BY nationkey;
SELECT count(*) FROM customer GROUP BY mktsegment;
SELECT origin_state, origin_zip, destination_state, sum(package_weight)FROM shippingGROUP BY GROUPING SETS ((origin_state),(origin_state, origin_zip),(destination_state));
SELECT origin_state, NULL, NULL, sum(package_weight)FROM shipping GROUP BY origin_stateUNION ALLSELECT origin_state, origin_zip, NULL, sum(package_weight)FROM shipping GROUP BY origin_state, origin_zipUNION ALLSELECT NULL, NULL, destination_state, sum(package_weight)FROM shipping GROUP BY destination_state;
SELECT count(*), mktsegment, nationkey,CAST(sum(acctbal) AS bigint) AS totalbalFROM customerGROUP BY mktsegment, nationkeyHAVING sum(acctbal) > 5700000ORDER BY totalbal DESC;
SELECT nameFROM nationWHERE regionkey IN (SELECT regionkey FROM region)
SELECT column_name(s)FROM table_nameWHERE EXISTS(SELECT column_name FROM table_name WHERE condition)
SELECT *FROM table_1JOIN table_2USING (key_A, key_B)
SELECT *FROM (VALUES(1, 3, 10),(2, 4, 20)) AS table_1 (key_A, key_B, y1)LEFT JOIN (VALUES(1, 3, 100),(2, 4, 200)) AS table_2 (key_A, key_B, y2)USING (key_A, key_B);
SELECT *FROM nationCROSS JOIN region
SELECT orderdate FROM orders LIMIT 5
構文:ORDER BY 式 [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...]
SELECT name, age FROM person ORDER BY age
SELECT * FROM studentORDER BY student_id
SELECT * FROM studentORDER BY student_id,student_name
SELECT * FROM (VALUES 13, 42)EXCEPTSELECT 13
SELECT * FROM (VALUES 13, 42)INTERSECTSELECT 1
UNION ALL演算子を使用してください。SELECT 13UNIONSELECT 42
SELECT id FROM aUNION ALLSELECT id FROM b;
BERNOULLI:各行をサンプルとして選択する確率はサンプルパーセンテージに等しい。Bernoulli法でテーブルをサンプリングする場合、テーブルのすべての物理ブロックをスキャンし、一部の行をスキップします(サンプリングパーセンテージと実行時に計算されるランダム値の比較に基づく)。結果に行が含まれる確率は他の行とは独立しています。これにより、サンプリングテーブルをディスクから読み取るのに必要な時間は短縮されません。サンプリング出力をさらに処理する場合、総クエリ時間に影響を与える可能性があります。SYSTEM:このサンプリング方法は、テーブルを論理データセグメントに分割し、その粒度でテーブルをサンプリングします。このサンプリング方法では、特定のデータセグメントからすべての行を選択するか、スキップします(サンプリングパーセンテージと実行時に計算されるランダム値の比較に基づく)。システムサンプリングで選択される行は、使用するコネクタによって異なります。たとえば、Hiveと一緒に使用する場合、HDFS上のデータのレイアウト方法に依存します。この方法では、独立したサンプリング確率は保証されません。SELECT *FROM users TABLESAMPLE BERNOULLI (50);
SELECT *FROM users TABLESAMPLE SYSTEM (75);
SELECT * FROM personPIVOT (SUM(age) AS a, AVG(class) AS cFOR name IN ('John' AS john, 'Mike' AS mike));
LATERAL VIEW [ OUTER ] generator_function ( expression [ , ... ] ) [ table_alias ] AS column_alias [ , ... ]
Select 'dlc''test'
CREATE EXTERNAL TABLE IF NOT EXISTS `csv_test_2222` (`_c0` STRING,`_c1` INTEGER,`_c2` INTEGER,`_c3` INTEGER)ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ('separatorChar' = '''','quoteChar' = '''')STORED AS `textfile`LOCATION 'cosn://dlc-nj-1258469122/csv/100M/
フィードバック