根据联接添加列

时间:2012-10-24 15:50:39

标签: mysql sql join

我有一个巨大的表( 3百万条记录)必须有一个连接列。该值不会改变。

如何根据联接添加列?还会有其他一些问题。如果我使用join,那将是一个较慢的过程。

例如:

主表:

add_cod | name
 1      | alfa
 2      | beta
 1      | zeta

插件表:

cod | col_ext
 1  | jam
 2  | bam

结果应该是主表,但是使用col_ext列:

add_cod | name | col_ext
 1      | alfa |   jam
 2      | beta |   bam
 1      | zeta |   jam

2 个答案:

答案 0 :(得分:2)

这是一个简单的JOIN

SELECT  a.*, b.col_ext
FROM    main a
        INNER JOIN addon b
            ON a.add_cod = b.cod

如果您在表上正确实现了索引,则无需担心性能。

SQLFiddle Demo

答案 1 :(得分:2)

您将使用JOIN

select m.add_cod,
  m.name,
  a.col_ext
from main m
left join addon a
  on m.add_cod = a.cod

请参阅SQL Fiddle with Demo

如果您需要帮助了解联接,这里有一个很棒的visual explanation of joins