在插入之前进行内部连接是什么意思



我有以下情况,我正在插入到表中,但是,在执行此操作之前,我要获取与另一个表关联的外键 ID。该外键 ID 不是简单的查找,而是需要另外两个表的 INNER JOIN 才能获取该 ID。

所以,我目前正在做的是:

  1. 内部连接 A、B 并获取我需要的 ID。

  2. 一旦我解决了上面的值,我插入到表 C 中我从步骤 1 获得的外键。

现在,我想知道是否有更好的方法来做到这一点。我可以将表 A 和 B 连接起来并在一个语句中全部插入表 C 吗?这就是我对跨表的内部连接然后插入的含义感到困惑的地方。您是否可能插入到多个表中?

可以使用插入-选择语法将查询的结果(可能涉及也可能不涉及联接(插入到另一个表中。 例如:

INSERT INTO C
SELECT col_from_a, col_from_b
FROM   a
JOIN   b ON a.id = b.id

最新更新