在这里使用CROSS JOIN是一个坏主意吗?

时间:2014-07-10 14:16:19

标签: sql database oracle

我正在创建此表:

    ID|Name|Company
    1 |Foo |Acme Corp
    2 |Bar |Acme Corp
    3 |Doh |Acme Corp

来自:

    ID|Name
    1 |Foo 
    2 |Bar 
    3 |Doh 

    ID|Company   | Address 
    1 |Acme Corp | Bugs Bunny Lane

CROSS从第二个表到第一个表的记录加入是不是一个坏主意?

我将数据从多个数据库(代表多家公司)导入新数据库。每个数据库中的第二个表只应该有一个记录。这是另一种方法吗?

2 个答案:

答案 0 :(得分:1)

如果您需要所有组合并且表格没有逻辑关联,CROSS JOIN就是您的表现方式:

SELECT  stuff.*, company.name
FROM    stuff
CROSS JOIN
        company

答案 1 :(得分:0)

如果通过交叉连接,则意味着创建新表(ID|Name|Company),那么这可能是一个坏主意。

您现在只有一家公司,但您将来也不会知道。你也会丢失地址和其他信息(电话号码?),除非你在每一行重复这些信息。

我坚持使用两张桌子!