Php 查询涉及4个表,内部联接?

Php 查询涉及4个表,内部联接?,php,mysql,sql,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} 我想显示按州名称过滤的结果(或者我认为是相同的州\u pk)。 我想展示某个州的新闻 我不经常使用MySQL,但在这个应用程序中,我做了几个类似这样的

我正在开发一个PHP应用程序,需要一个包含4个表的查询。表格如下:

news {news_pk, user, description, building_pk}
building {building_pk, area_pk, description}
area {area_pk,state_pk}
states {state_pk, name}
我想显示按州名称过滤的结果(或者我认为是相同的
州\u pk
)。 我想展示某个州的新闻

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


哪种查询可以最有效地只显示来自某个州的新闻?

这在很大程度上取决于您想做什么,如果您正在寻找内部联接,它可能是一个很好的解决方案。你可以在这个答案中看到连接之间的区别:


希望有帮助!:)

您应该使用以下查询来联接表:

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");

是的,连接是解决您问题的好方法(如果这是一个问题),这取决于您的查询结果和约束条件。请检查我的答案。谢谢您的回答。我忘了最后一个问题。我正在寻找显示某个州新闻的查询。我会在几分钟内尝试。谢谢你!这很好用。现在,我只需要添加几个变量和条件,以便只显示“state1”或“state2”…谢谢Chirag。这个查询完全符合我的需要。我真的很感激你的帮助!!!:-)谢谢你的帮助。谢谢,我一定会读的。我必须提高MySQL!