一尘不染

什么是zip联接?您是否听说过,或者成对加入?

sql

这是什么拉链连接?它表示这意味着:

两个查询的成对联接

但这意味着@。@我不知道

我已经尝试了Googling的“ zip联接”和“成对联接” …但是与数据库无关。

当我在“pairwise”上搜索时,我确实从Wikipedia上获得了

有人可以给我一些示例说明zip联接与普通外部联接或内部联接之间的区别吗?谢谢!


阅读 278

收藏
2021-03-10

共1个答案

一尘不染

拉链联接仅在讨论有序集时才有意义。您不是根据列的值进行联接,而是根据行号进行联接。

表格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]  [element]
475  blue     blue     indium 
510  green    green    boron
570  yellow   yellow   sodium
650  red      red      calcium

Table1外部联接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

Table1“ zip joined”到Table2 :所有行,无论是否匹配

[λ]  [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

拉链联接像拉链一样组合数据,将一个表中的第一行与另一个表中的第一行配对,第二对与第二对配对,依此类推。实际上并不是在查看该数据。它们可以很快地生成,但是它们没有任何意义,除非您的数据中已经存在一些有意义的顺序,或者您只是想生成随机配对

2021-03-10