Presto常用语句整理
2016-05-16 22:08
886 查看
查询
从0或多个表获取数据行[ WITH with_query [, ...] ] SELECT [ ALL | DISTINCT ] select_expr [, ...] [ FROM from_item [, ...] ] [ WHERE condition ] [ GROUP BY expression [, ...] ] [ HAVING condition] [ UNION [ ALL | DISTINCT ] select ] [ ORDER BY expression [ ASC | DESC ] [, ...] ] [ LIMIT count ]
from_item为以下之一
table_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ] from_item join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]
GROUP BY子句
GROUP BY 子句对 SELECT 语句的输出进行分组, 分组中是匹配值的数据行。 Group BY 子句支持任意表达式, 包括指定列名或列序号(从1开始)。HAVING子句
HAVING 子句与聚合函数以及 GROUP BY 子句共同使用, 用来控制选择分组。 HAVING 子句去掉不满足条件的分组。 在分组和聚合计算完成后,HAVING 对分组进行过滤。以下示例查询 customer 表,并进行分组, 查出账户余额大于指定值的记录:
SELECT count(*), mktsegment, nationkey, CAST(sum(acctbal) AS bigint) AS totalbal FROM customer GROUP BY mktsegment, nationkey HAVING sum(acctbal) > 5700000 ORDER BY totalbal DESC;
UNION子句
UNION 子句用于将多个查询语句的结果合并为一个结果集:query UNION [ALL | DISTINCT] query
参数 ALL 或 DISTINCT 控制最终结果集包含哪些行。 如果指定参数 ALL ,则包含全部行,即使行完全相同。 如果指定参数 DISTINCT , 则合并结果集,结果集只有唯一不重复的行。 如果不指定参数,执行时默认使用 DISTINCT 。
多个union从左向右执行, 除非用括号明确指定顺序。
插入
向表中插入行。INSERT INTO table_name query
目前尚不支持指定列名。 因此, 查询语句中的列与要插入的表中的列必须完全匹配。例如:
INSERT INTO orders SELECT * FROM new_orders; INSERT INTO cities VALUES (1, 'San Francisco'); NSERT INTO cities VALUES (2, 'San Jose'), (3, 'Oakland');
表操作
功能 | 语句 | 描述 |
---|---|---|
修改表 | ALTER TABLE name RENAME TO new_name | 改变一个现有表的定义 |
建表 | CREATE TABLE table_name AS query | 创建一个包含 查询 查询结果的新表 |
建视图 | CREATE [ OR REPLACE ] VIEW view_name AS query | 创建一个 查询 查询的新视图。视图是一个逻辑表, 可以在将来的查询中使用。视图不包含任何数据。 每当视图被其他查询语句使用时, 存储在视图中的查询语句都会被执行 |
查看表结构 | DESCRIBE table_name | 查看一个已经存在的表结构 |
删表 | DROP TABLE table_name | 删除一个已经存在的表 |
删视图 | DROP VIEW view_name | 删除一个已经存在的视图 |
显示
功能 | 语句 | 描述 |
---|---|---|
显示列 | SHOW COLUMNS FROM table | 列出 表 中的列及其数据类型和其他属性 |
显示函数 | SHOW FUNCTIONS | 列出全部可用于查询的函数 |
显示分区 | SHOW PARTITIONS FROM table [ WHERE … ] [ ORDER BY … ] [ LIMIT … ] | 列出 表 中的分区,可以使用 WHERE 子句进行过滤, 使用 ORDER BY 子句排序,使用 LIMIT 子句限制。 这些子句与他们的在 查询 中的工作方式相同 |
显示库 | SHOW SCHEMAS [ FROM catalog ] | 列出 catalog 或当前catalog中的库 |
显示会话 | SHOW SESSION | 列出当前会话属性 |
显示表 | SHOW TABLES [ FROM schema ] [ LIKE pattern ] | 列出指定 库 或当前库中的表。 可以用 LIKE 子句控制列出的表名 |
解释
显示一个语句的逻辑或分布式执行方案。EXPLAIN [ ( option [, ...] ) ] statement option可以为以下之一: FORMAT { TEXT | GRAPHVIZ } TYPE { LOGICAL | DISTRIBUTED }
相关文章推荐
- 怎么搭建Web Api
- MPI编程简介[转]
- 为什么刚买来250G的硬盘插到电脑里只有大约232G?
- 为什么刚买来250G的硬盘插到电脑里只有大约232G?
- 为什么刚买来250G的硬盘插到电脑里只有大约232G?
- 工作需求
- 平均数 减法
- simple的login
- (9)在 operator=中处理自我赋值
- MySQL Router 测试使用 转
- jQuery基础教程-第8章-001Adding new global functions
- Git学习足迹---常用的基本操作00
- lvs-nat负载均衡实验
- 计算机概论
- C\C++ enum枚举类型
- Android学习记录(十四) digest鉴权的文件播放
- CodeForces 602C The Two Routes(最短路)
- Session的超时配置
- iOS 本地推送
- [2]QMediaPlayer实现小播放器1.1