如何合并两个表

时间:2018-02-05 03:32:22

标签: mysql

鉴于这两个表的关系

table1 :(姓名,身高,年龄)

表2 :( cname,weight)

我想将name和cname结合起来,因此它们是一个没有重复的。例如,假设table1的名称列有

name
bob
mary
alice
steve

而table2的cname列有

cname
bob
liam
abi
mark

我想创建一个像这样的新名称表:

name
bob
mary
alice
steve
liam
abi
mark

我的尝试:

SELECT
    name
FROM table1
    JOIN table2
        ON (table1.name = table2.cname)

我正在寻找一个更好的联接,这将使这项工作?呢?

2 个答案:

答案 0 :(得分:4)

您需要的是UNION

SELECT name from Table1
UNION
SELECT cname from Table2

这将结合两个选择查询的不同结果。

这里是Demo

答案 1 :(得分:0)

您可以根据自己的要求同时使用 UNION UNION ALL

UNION 会删除重复记录(结果中的所有列都相同), UNION ALL 则不会。

<强>像:

#if you need distinct records.

SELECT name from Table1
UNION
SELECT cname from Table2;

#if you need all records.

SELECT name from Table1
UNION ALL
SELECT cname from Table2;