两个表的Mysql查询

时间:2012-10-10 11:19:33

标签: mysql sql

是否可以在查询中加入两个mysql查询?

喜欢:

select * from a + select * from b

这样我就可以在一个php循环中使用它们。

2 个答案:

答案 0 :(得分:3)

如果列数相同且每列中的数据类型相同,则可以使用UNIONUNION ALL

select * 
from a 
UNION ALL
select * 
from b

如果您提供有关表,数据等的更多详细信息,则可能有另一种方法可以返回此数据。

UNION只会返回DISTINCT个值,而UNION ALL会选择所有值。

如果这是您需要采取的路线,并且您仍需要确定数据来自哪个表,那么您始终可以创建一个列来标识数据来自哪个表,类似于:

select *, 'a' TableName
from a 
UNION ALL
select *, 'b' TableName
from b

这使您可以区分数据来自哪个表。

答案 1 :(得分:0)

我认为更容易创建sql"变量"像:

select varA, varb from TableA, tableB;

你可以在PHP访问属性中使用值。

这样你就可以在查询中采取条件:

select varA, varb from TableA, tableB where varA.id = varB.foreingId bla bla...