在2个或更多的表中使用SELECT

4
考虑以下数据库:
浏览器表:
id | name        | description                     | stuff different from cars table
-------------------------------------------------------------------------------------
 1 | Chrome      | Some description
 2 | Firefox     | Some other description
 3 | Vivaldi     | Even more description

汽车表格:

id | name        | description                      | stuff different from browsers table
-------------------------------------------------------------------------------------
 1 | Hyundai     | Some korean description
 2 | Ford        | Some ford ther description
 3 | Ferrari     | Even ferrari more description

我需要在PHP中获得6个对象的输出,每个对象包括一个id、一个名称和一个描述。我可以使用join关键字实现吗?如果可以,该怎么做?我已经安静地研究了几个小时。或者是采用不同的方法?
如果我要制作一个表格来显示我需要获取的输出数据,那么它将是这样的:
id | name        | description                   
------------------------------------------------
 1 | Hyundai     | Some korean description
 2 | Ford        | Some ford ther description
 3 | Ferrari     | Even ferrari more description
 1 | Chrome      | Some description
 2 | Firefox     | Some other description
 3 | Vivaldi     | Even more description
1个回答

5

这不是使用join的情况。由于您想要从两个表中按顺序获取行,而不是并排显示,因此应该使用union all

SELECT id, name, description
FROM   browsers
UNION ALL
SELECT id, name, description
FROM   cars

这个查询可以用作 SELECT * FROM browsers UNION ALL SELECT * FROM cars 吗?考虑到不同的表列? - Razvan M.
1
如果两个查询具有相同数量,相同类型和相同顺序的列(无论名称如何)- 是的。否则,您不能这样做 - 两个查询必须具有相同数量和类型的列。 - Mureinik
@MerdescuR。不同的列名不应该使用 UNION ALL。 - Mukesh Kalgude

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接