我有一个正在进行左外连接的合并连接变换。谁能告诉我这个变换的伪代码?我想我理解输出,但我很想知道用于产生它的逻辑。
谢谢!
答案 0 :(得分:1)
合并连接的工作方式是遍历两个排序列表中的所有记录。合并将匹配记录,但始终返回左侧列表中的记录,即使没有右侧列表中的相应记录也是如此。由于记录在两个列表中进行了排序,因此该过程知道它可以放弃列表中进一步匹配的可能性;
Get first record from leftList
Get first record from rightList
While not at the end of either list
begin
if leftList key matches right list key
begin
return (leftList and rightList row)
move to next rightList row
end
else if no previous match found on leftList
begin
return (leftList)
move to next leftList row
end
else
move to next leftList row
end