在一个查询中从两个不同的表中选择不同的行

时间:2015-11-18 12:09:07

标签: php mysql sql mysqli

我试图构建一个查询来从两个不同的表中选择多行。但是这些表都有不同的行。

它应该是这样的(最好应该使用JOIN函数):

SELECT `a`, `b`, `c`, `d` FROM table1 AND `e`, `f`, `g`, `h` FROM table2 WHERE `a` = `e`

知道如何实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

您必须使用加入或联盟,最好是加入。

如果你想返回,可以说列" 1"和" 2"在表格" a"和列" 3"和" 4"在表格" b"使用以下内容:

SELECT 1.a,2.a,3.b,4.b FROM a join b ON key.a = key.b;

a和b指的是表名 1,2,3,4指的是您想要返回的属性。 key是表的主键和外键,本质上是一个共享列

您还可以在两个select语句之间使用Union,每个语句从单个表中选择适当的数据,但通常可以使用连接

对于您的示例,以下内容可行: 从table1 join table2中选择a,b,c,d,e,f,g,h; 但是,如果您在两个表中都有重复的属性,例如id或name,则必须指定id.table1,id.table2,name.table1,name.table2等