我熟悉SQL中的JOIN操作,但我并不真正理解它们在内部是如何工作的。在
我的任务是在Python中实现merge\u-join函数。我已经正确实现了嵌套循环联接:
def nested_loop_join(self, outer, outer_join_index, inner, inner_join_index):
inner_list = list(inner)
for outer_row in outer:
for inner_row in inner_list:
if outer_row[outer_join_index] == inner_row[inner_join_index]:
yield outer_row + inner_row
我的合并加入是:
^{pr2}$但似乎没用。 根据我的理解,merge join不应该就像将内部表附加到外部表一样吗?我做错什么了?在
假设您引用的是名为merge join的算法,而不是名为
merge
的SQL命令(后者同时执行插入和更新)。在合并算法采用两个已排序记录的合并列表。当键相同时,它生成值与两个记录的笛卡尔积。如果一个输入的键值不在另一个输入中,则该键值不在输出中。在
我不打算编写这样做的Python代码。但是,如果您了解该算法的作用,那么将其转换为Python应该非常简单。在
相关问题 更多 >
编程相关推荐