Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >配置单元中具有Join或Where子句的条件

配置单元中具有Join或Where子句的条件
EN

Stack Overflow用户
提问于 2015-09-15 14:29:16
回答 1查看 7.1K关注 0票数 2

我想了解hive是如何执行这两个查询的。我们在Hive中有没有查询优化器?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from A JOIN B on A.a = B.b 

select * from A JOIN B where A.a = B.b

请让我知道配置单元查询是如何执行的(工作流)?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-09-15 15:29:47

不幸的是,看起来Hive在这里并没有做任何好的后端优化。我给自己写了几个例子,并比较了阶段计划和抽象语法树。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from A JOIN B on A.a = B.b 

在上面的查询中,hive找到了A.a = B.b的位置,然后将两者连接在一起。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from A JOIN B where A.a = B.b

在这个查询中,每个value - hive上的hive连接A到B执行一个交叉连接,这是一个大规模的映射阶段(假设您的表很大)。然后在reduce阶段,hive过滤掉A.a != B.b的行

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32588695

复制
相关文章
SQL 查询条件放到 JOIN 子句与 WHERE 子句的差别
我们再写 SQL 的时候,最常碰到一个问题就是,把查询条件放到 JOIN 子句和放到 WHERE 子句有什么不同呢?比如:
Denis
2023/04/14
2.4K0
sql join中on条件后接and和where
场景1:left join + on a.xx = b.xx and a.xx2 = 'aa'
不吃西红柿
2022/07/29
1.8K0
sql join中on条件后接and和where
ClickHouse中ARRAY JOIN子句和JOIN子句的使用
在ClickHouse中,ARRAY JOIN子句用于查询和展开数组数据。它可以将一个数组字段展开为多个行,以便在查询结果中分别处理每个数组元素。
一凡sir
2023/10/20
1.7K0
ClickHouse中ARRAY JOIN子句和JOIN子句的使用
left join-on-and 与 left join-on-where 和 inner join on 加条件和where加条件的区别
在多表查询时,on 比 where 更早起作用。系统首先根据各个表之间的联接条件,把多个表合成一个临时表后,再由 where 进行过滤,然后再计算,计算完后再由 having 进行过滤。由此可见,要想过滤条件起到正确的作用,首先要明白这个条件应该在什么时候起作用,然后再决定放在那里。
botkenni
2023/05/23
2.6K0
left join-on-and 与 left join-on-where 和 inner join on 加条件和where加条件的区别
SQL中JOIN时条件放在Where和On的区别
SQL中JOIN子句是用于把来自两个或多个表的数据连接起来,在这个过程中可能会添加一些过滤条件。昨天有小伙伴问,如下图的这两种SQL写法查询结果是否会一样?(好像这是某一年阿里的面试题)
Python数据科学
2020/11/11
3.5K0
SQL中JOIN时条件放在Where和On的区别
SQL中,having子句和where子句的区别
在SQL之中,where和having的功能有点像,导致我一直搞不清楚这两者的区别。因此今天专门研究了以下,在此记录。
灯珑LoGin
2022/10/31
2.6K0
ClickHouse中,WHERE、PREWHERE子句和SELECT子句的使用
在ClickHouse中,WHERE和PREWHERE子句都用于筛选数据,但它们在查询中的使用有一些区别和注意事项。
一凡sir
2023/10/20
1.8K0
ClickHouse中,WHERE、PREWHERE子句和SELECT子句的使用
函数或条件子句的占位符
于一般不推荐在遍历数据集合时直接修改原数据集合来获取我们想要的数据集合,这样不安全且不够灵活。推荐在遍历原数据集合时根据条件创建一个新的数据集合,遴选公务员而这正是Python语言中for语句的强大之处。
用户7737280
2021/12/02
8150
SQL WHERE 子句
如果只希望选取居住在城市 "Beijing" 中的人,我们需要向 SELECT 语句添加 WHERE 子句:
子润先生
2021/07/01
9750
MySQL中where条件查询(where)
ha_lydms
2023/08/09
2990
用于 SELECT 和 WHERE 子句的函数
1 一个 SQL 语句中的 select_expression 或 where_definition 可由任何使用了下面所描述函数的表达式组成。 2 3 包含 NULL 的表达式总是得出一个 NULL 值结果,除非表达式中的操作和函数在文档中有另外的说明。 4 5 注意:在一个函数名和跟随它的括号之间必须不存在空格。这有助于 MySQL 语法分析程序区分函数调用和对恰巧与函数同名表或列的引用。然而,参数左右两边的空格却是允许的。 6 7 你可以强制 My
用户1112962
2018/07/03
4.8K0
left/right join中on和where的区别
开发同学提了个问题,如下两种left join中on和where条件的写法是否等价?
bisal
2020/03/18
7630
[MySQL]select和where子句优化
数据库优化: 1.可以在单个SQL语句,整个应用程序,单个数据库服务器或多个联网数据库服务器的级别进行优化 2.数据库性能取决于数据库级别的几个因素,例如表,查询和配置设置 3.在数据库级别进行优化,在硬件级别进行优化,平衡可移植性和性能 4.合适的结构,合适的数据类型;执行频繁更新的应用程序大量表(少列);分析大量数据的应用程序少量表(多列);选择合适的存储引擎和索引; 5.压缩适用于InnoDB表的各种工作负载,以及只读MyISAM表 6.选择合适的锁定策略;InnoDB存储引擎可以处理大多数锁定问题 7.配置的主要内存区域是InnoDB缓冲池和MyISAM密钥缓存。 8.优化select语句,这方面技巧同样适用于其他带where的delete语句等,在where子句的列上设置索引;索引对于引用多个列如join和外键尤其重要
唯一Chat
2019/09/10
1.6K0
SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别
  今天主要的内容是要讲解SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别和用法,不用我说其实前面的这些基本SQL语法各位攻城狮基本上都用过。但是往往我们可能用的比较多的也就是左右连接和内连接了,而且对于许多初学者而言不知道什么时候该用哪种语法进行查询,并且对于左右,或者内连接查询的时候关于ON 和Where 的作用也是模糊不清的,说不出其中的一个大概的差别,因此接下来请容我把它们好好描述一遍。
追逐时光者
2019/08/28
9K1
SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别
LEFT JOIN条件在on后面和在where后面的区别
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
赵哥窟
2023/05/27
3350
LEFT JOIN条件在on后面和在where后面的区别
数据库系列 | left join加上where条件咋了?
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户
Tinywan
2023/03/08
1.2K0
数据库系列 | left join加上where条件咋了?
开心档之MySQL WHERE 子句
以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:
iOS Magician
2023/03/31
1.1K0
left join on and 与 left join on where的区别
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
wuweixiang
2018/08/14
1.2K0
开心档之MySQL WHERE 子句
以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:
iOS Magician
2023/04/06
9940
MySQL JSON 数组用于 WHERE IN 子句
例如,我们有一个包含用户 ID 的 JSON 数组 [1, 2, 3],我们希望查询所有这些用户的信息。在这种情况下,我们需要将 JSON 数组转换为 IN 子句的形式。
恋喵大鲤鱼
2023/10/12
1.1K0

相似问题

mysql中的ON子句条件与WHERE子句条件WITH JOIN

32

在where子句或join子句中使用条件更好?

10

JOIN或WHERE中的条件

100

join子句和where子句中条件的区别

10

“内部JOIN`”过滤条件在查询中的位置;“or”或“`WHERE`”子句

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文