user3678399 Asked: 2015-10-21 22:40:03 +0800 CST2015-10-21 22:40:03 +0800 CST 2015-10-21 22:40:03 +0800 CST 以一对多关系连接两个表的有效方法 772 这是面试中问我的面试问题,我无法回答。请帮忙.. 连接两个表之间具有一对多关系的最有效方法是什么 join interview-question 2 个回答 Voted Best Answer Peter Elzinga 2015-10-22T00:03:11+08:002015-10-22T00:03:11+08:00 最有效的方法是使用 INNER JOIN,如下所示: SELECT * FROM Parent P INNER JOIN Child C ON C.ParentId = P.ParentId 当您需要子级别的聚合时,您可以添加 GROUP BY 和 SUM 和/或 AVG 或其他聚合函数: SELECT P.Name , P.Address , SUM(C.Amount) FROM Parent P INNER JOIN Child C ON C.ParentId = P.ParentId GROUP BY P.Name , P.Address Hannah Vernon 2015-10-22T05:58:37+08:002015-10-22T05:58:37+08:00 由于问题明确指出“具有一对多关系”,因此他们可能要求您解释主键和外键关系。 在这种情况下,您可能会说: “一对多”关系的“一”侧的表应该有一个主键列。另一个表应该定义一个指向第一个表的主键的外键。要从两个表中返回结果,您需要添加一个INNER JOIN子句来连接两个表。
最有效的方法是使用 INNER JOIN,如下所示:
当您需要子级别的聚合时,您可以添加 GROUP BY 和 SUM 和/或 AVG 或其他聚合函数:
由于问题明确指出“具有一对多关系”,因此他们可能要求您解释主键和外键关系。
在这种情况下,您可能会说: