Slick 文档页面的这一部分很奇怪。
这个 zip 连接是什么?它说这意味着:
两个查询的成对连接
但这意味着@.@我不知道
我试过用谷歌搜索“zip join”和“pairwise join”......但没有结果与数据库有关。
当我搜索“pairwise”时,我确实从维基百科得到了这个……
有人可以给我一些例子来说明 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 “压缩连接”到表 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 连接像拉链一样组合数据,将一个表的第一行与另一个表的第一行配对,第二个与第二个配对,等等。它实际上并没有查看该数据。它们可以非常快速地生成,但它们没有任何意义,除非您的数据中已经存在一些有意义的顺序,或者您只想生成随机配对