sql - Implementing Merge Join in Python -


i familiar join operations in sql, don't understand how work internally.

i given task of implementing merge_join function in python. implemented nested loop join correctly:

def nested_loop_join(self, outer, outer_join_index, inner, inner_join_index):     inner_list = list(inner)     outer_row in outer:         inner_row in inner_list:             if outer_row[outer_join_index] == inner_row[inner_join_index]:                 yield outer_row + inner_row 

my merge join is:

def merge_join(self, outer, outer_join_index, inner, inner_join_index):     inner_list = list(inner)     outer_row in outer:         inner_row in inner_list:             if outer_row[outer_join_index]==inner_row[inner_join_index]:                 yield outer_row+inner_row             else:                 yield outer_row 

but doesn't seem working. understand shouldn't merge join attaching inner table outer? did wrong here?

presumably, referring algorithm called merge join , not sql command called merge (the latter both inserts , updates).

the merge join algorithm takes 2 sorted lists of records. when keys same, produces cartesian product of values 2 records. if either input has key values not in other, key not in output.

i'm not going write python code this. however, if understand algorithm does, should pretty simple convert python.


Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -