我只是在开发一个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,但在这个应用程序中,我正在做这样的几个查询,我不确定内部联接是否是一个很好的解决方案。
哪种查询最有效的方式才能显示某个州的新闻?
答案 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");