SQL Join问题......它叫什么?

时间:2009-09-17 19:21:44

标签: sql join

我有两个已加入的表。我已经包含了连接表的“输出”。我想知道这个连接问题叫什么?有重复的行。

  

表1 表格   2
   ID名称ID名称   1乔伊4玛丽   2 Shawn 5 Xavier
  3 Mark 6 Gary

连接输出为:

  

ID名称ID名称
  4 Mary 1 Joey
  4 Mary 2 Shawn
  4玛丽3马克
  5 Xavier 1 Joey
  5 Xavier 2 Shawn
  5泽维尔3马克
  6加里1乔伊
  6 Gary 2 Shawn
  6加里3马克

4 个答案:

答案 0 :(得分:8)

如果记忆起作用,则称为笛卡尔积。

答案 1 :(得分:3)

我认为您的问题是您要使用UNION,而不是JOIN

示例:

SELECT * FROM Table1 UNION SELECT * FROM Table2;

应该给你:

ID  Name
1   Joey
2   Shawn
3   Mark
4   Mary
5   Xavier
6   Gary

这是你想要做的吗?

答案 2 :(得分:1)

CROSS JOIN

答案 3 :(得分:0)

根据您的输出,您的查询类似于

SELECT * FROM Table2, Table1

这称为CROSS JOIN,这是正常行为,对于table2中的每一行,将追加table1中的值。

你似乎想要的是一个UNION

SELECT * FROM Table1
UNION
SELECT * FROM Table2