这是一个非常常见的用例,但我从来不知道这样做的最佳方式。说我有两个表嵌套sql select在另一个sql select?
队表
- ID
- 球队名称
球员表
- ID
- TEAM_ID
- PLAYER_NAME
说,在输出HTML我想显示队伍的标题,并且在每个队伍下面各自的队员:
团队1
鲍勃 -
- 乔恩
队2
- 肯
贾森 -
此前我一直使用select语句的队伍,而通循环的结果,执行另一个选择语句,其中外键将等于外部查询的当前行的ID。这是否是一种愚蠢,无效的方式呢?做这种事的标准方式是什么?我可以使用加入,但我想我需要添加一些逻辑来仅显示一次球队标题。我正在使用php + mysql。
是不是像我的例子那样的解决方案? – eirikrl
好吧,但我相信它是最好的。最好的解决方案并不意味着只需要一个查询即可获得所有你想要的;)这里没有连接,也没有子查询,因为你不需要连接。如果你的麻烦是没有n^2的复杂性,那不可能完成,你需要循环第一个集合,否则你的数据库将在连接或子查询的情况下进行。相同=相同 – Jerome