[英]amazon athena - select from multiples tables without join
我有三张桌子。 每个表与其他两个表具有公共列,但某些属性有所不同。 因为我对common属性感兴趣,所以我想提出一个请求以从所有三个表中获取数据。
我需要从UNION的所有三个表中获取项目。 AWS Athena是否有可能?
例如:
table1 (att1, att2, att3)
table2 (att1, att2, att_3)
table3 (att1, att2, att3, att4)
目标:在不加入同一请求的情况下从table1,table2,table3获取项目。
这将在三个表(包括第四列的列返回所有值table3
。如果你只需要att1, att2
只是省略了其他列,仅这些在输入SELECT
语句。
SELECT att1, att2, att3, NULL as att4 FROM table1
UNION ALL
SELECT att1, att2, att_3, NULL FROM table2
UNION ALL
SELECT att1, att2, att3, att4 FROM table3
如果UNION ALL
来自不同表,则UNION ALL
将返回重复值,而UNION
应用DISTINCT
则意味着返回唯一值集。
如果您正在寻找一种解决方案来从您提到的所有表中返回公共列(按名称),那么您可以选择:
在AWS Athena中,您可以使用UNION运算符合并两个(或更多)单独查询表达式的结果。 例如:
SELECT att1, att2, att3 FROM table1
UNION
SELECT att1, att2, att3 FROM table2
UNION
SELECT att1, att2, att3 FROM table3
我假设UNION中的每个SELECT语句具有相同数量的列,这些列具有相同的数据类型,并且顺序相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.