查询涉及4个表,内连接?

时间:2014-03-25 08:10:47

标签: php mysql sql

我只是在开发一个PHP应用程序,我需要一个涉及4个表的查询。表格如下:

news {news_pk, user, description, building_pk}
building {building_pk, area_pk, description}
area {area_pk,state_pk}
states {state_pk, name}

我想显示按州名过滤的结果(或者我认为相同的state_pk)。 我想展示来自某个州的新闻。

我不是经常使用MySQL,但在这个应用程序中,我正在做这样的几个查询,我不确定内部联接是否是一个很好的解决方案。

哪种查询最有效的方式才能显示某个州的新闻?

2 个答案:

答案 0 :(得分:0)

这很大程度上取决于你想要做什么,如果你正在寻找内部联接可能是一个很好的解决方案。您可以在此答案中找到联接之间的差异:What's the difference between INNER JOIN, LEFT JOIN, RIGHT JOIN and FULL JOIN?

希望它有所帮助! :)

答案 1 :(得分:0)

您应该对表的连接使用以下查询:

mysql_query("select a.news_pk,a.user.a.description,a.buiding_pk,b.building_pk,b.area_pk,b.description,c.area_pk,c.state_pk,d.state_pk,d.name from news as a,buiding as b,area as c,states as d where a.buiding_pk=b.building_pk and b.area_pk=c.area_pk and c.state_pk=d.state_pk");