This section of Slick’s documentation page很奇怪
这是什么拉链加入?它说这意味着:
a pairwise join of two queries
但是这意味着什么@ @我不知道
我已经尝试使用谷歌的“zip加入”和“成对加入”…但没有结果与数据库.
有人可以给我一些例子说明拉链连接和正常的外连接或内连接之间的区别?谢谢!
解决方法
谈论订单集时,Zip连接只是有意义的.根据列的值而不是加入,而是根据行号加入.
表格1
[λ] [color] 400 violet 415 indigo 475 blue 510 green 570 yellow 590 orange 650 red
表2
[flame] [element] green boron yellow sodium white magnesium red calcium blue indium
Table1 INNER JOIN Table2 ON [color] = [flame]:只匹配行
[λ] [color] [flame] [element] 475 blue blue indium 510 green green boron 570 yellow yellow sodium 650 red red calcium
Table1 OUTER JOIN Table2 ON [color] = [flame]:所有行,尽可能匹配
[λ] [color] [flame] [element] 400 violet NULL NULL 415 indigo NULL NULL 475 blue blue indium 510 green green boron 570 yellow yellow sodium 590 orange NULL NULL 650 red red calcium NULL NULL white magnesium
表1“zip加入”到表2:所有行,无论匹配
[λ] [color] [flame] [element] 400 violet green boron 415 indigo yellow sodium 475 blue white magnesium 510 green red calcium 570 yellow blue indium 590 orange NULL NULL 650 red NULL NULL
Zip连接将数据像拉链组合,将一个表中的第一行与另一个表中的第一行进行配对,第二行与第二行配对,等等.实际上并不是在查看该数据.它们可以非常快地生成,但是除非您的数据中已经存在一些有意义的顺序,否则它们不会意味着什么,如果您只想生成随机配对