同时从两张桌子中选择?

时间:2011-12-20 05:19:57

标签: mysql

我需要在查询中合并到表中,所以我可以选择它就好了。

表A:

Objeto | Atributo
1           a

表B:

Palabra | Atributo
2           b
3           b

在我的查询中,我想从两者中进行选择,所以我需要以某种方式容纳一个表中的所有行,在这个例子中应该是:

Objeto | Atributo
1           a
2           b
3           b

我该怎么做?

5 个答案:

答案 0 :(得分:4)

select Objecto, Atributo
from table A
UNION ALL
select Palabra, Atributo
from table B

答案 1 :(得分:1)

您正在寻找名为 UNION

的内容

答案 2 :(得分:1)

它不是连接(设置乘法),它是一个联合(设置加法):

SELECT  objecto, atributo
FROM    a
UNION ALL
SELECT  palabra, atributo
FROM    b

答案 3 :(得分:1)

您需要以下内容:

select objeto, atributo from tableA
union all
select palabra as objeto, atributo from tableB
order by 1 asc

联合将确保所有行都包含在两个表(a)中,并且order by子句将对它们进行正确排序,即使您有完全不同或相同的{{1}列。

如果它可能在许多地方有用,您可能还需要考虑将其视为某种类型的视图 - 这将极大地简化您的客户端代码。


(a)这是其中一个选项。另一种方法是单独使用objeto/palabra,但这会删除重复的行,这可能不是你想要的。

答案 4 :(得分:0)

这看起来像UNION声明

select * from table_a
UNION
select Palabra as Objecto, atributo from table_b