将多个sql查询连接在一起

时间:2014-07-20 20:11:03

标签: mysql sql select

我有一个名为Platforms的表,其中包含以下列:

  • id,name,img,template_id

另一个名为Templates的表,其中包含以下列:

  • id,tpl_name,body

如何选择所有平台,以便所有行都有id,name,img,template_id,tpl_name。

template_id中的Platforms = id中的{p> Templates

我可以使用一个查询吗?如果是,那么所谓的方法是什么?

6 个答案:

答案 0 :(得分:2)

是的,您可以使用一个查询来执行此操作,并且该方法被称为"表平台和模板之间的连接":

SELECT * FROM Platforms 
               INNER JOIN Templates on Platforms.template_id = Templates.id

答案 1 :(得分:2)

  

从平台p
中选择p.id,name,img,t.id,tpl_name,body   内部联接模板t在t.id = p.template_Id

答案 2 :(得分:1)

SELECT Platforms.*
FROM Platforms
INNER JOIN Templates ON Platforms.template_id = Templates.id

如果我没弄错的话,应该这样做。

答案 3 :(得分:1)

你的意思是一个简单的JOIN

SELECT id, name, img, template_id, tpl_name FROM platforms p 
JOIN templates t ON p.template_id=t.id

另外,您可以选择笛卡尔积并使用WHERE - 子句减少结果:

SELECT id, name, img, template_id, tpl_name FROM platforms, templates 
WHERE template_id=id

答案 4 :(得分:1)

在SELECT查询中使用简单的WHERE:

SELECT p.id, p.name, p.img, p.template_id, t.tpl_name
FROM Platforms as p, Templates as t
WHERE p.template_id = t.id;

答案 5 :(得分:1)

以下是另一种选择:

SELECT Platforms.id As PlatformId , name, img, 
Templates.id as TemplateId, tpl_name
FROM Platforms
INNER JOIN Templates  ON Platforms.template_id = Template.id