我正在尝试检索具有子变量的表中的所有行,其中这些行的外键等于具有父变量的表中行的主键。
从图形上看,它看起来像这样:
表 1. 此表包含父行。
ID | variable | variable | etc.
1 | XX | BB | ...
2 | YY | AA | ...
表 2. 此表包含子行。
ID | FK (parent) | variable | etc.
1 | 1 | BB | ...
2 | 1 | AA | ...
3 | 1 | AA | ...
4 | 2 | AA | ...
5 | 3 | AA | ...
我显然不是 SQL 专家,我通常会用另一种编程语言编写一个循环,循环遍历父表中的每一行,然后检查子表是否匹配。但是,我不知道这里最有效的方法是什么。父表将有 50 多行。children 表有 8000+ 行。
更新:我想将子表中的相关数据转储到新表中。所以我不想要一个包含来自父表和子表的数据的组合表,这就是我认为的 JOIN 。
更新2:我设法得到了我想要的东西:
INSERT INTO NewTable
select columns
from ChildrenTable t
inner join ParentTable p
on t.parentId = p.Id
谢谢您的帮助!