• #3楼 @seeyoup 我觉得是,User.includes(:topics).where('users.id=1'),where条件是('users.id=1'),这个可以直接取得users表的结果集,然后查topics表时使用where in,这样不需要join表,这属于简单的情况(使用两条sql更为合适)。你可以是试下User.includes(:topics).where(topics.XXX) 【前提是user和topics是1对N关系】(这属于复杂情况),这样无可避免join表。include存在的意义应该:默认的简单情况下它会使用两次查询,复杂的情况使用join表进行一次查询,这样更加灵活。总结来说where条件是1【1对n关系的1】的表include会用where in处理不需要用join(两条SQL),where条件是n的表会用join表处理(一条SQL)——新手