在INSERT之前对INNER JOIN意味着什么?

时间:2017-05-19 19:55:16

标签: sql sql-insert

我有以下情况我正在插入表中,但是,在我能够这样做之前,我要获取与另一个表相关联的外键ID。该外键ID不是简单的查找,而是需要另外两个表的INNER JOIN才能获得该ID。

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

  1. 内部加入A,B并抓住我需要的ID。

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

  3. 现在,我想知道是否有更好的方法来做到这一点。我可以连接表A和B并在一个语句中插入表C吗?这就是我对跨表的INNER JOIN意味着什么感到困惑然后插入INSERT。您是否可能插入多个表?

1 个答案:

答案 0 :(得分:1)

您可以使用insert-select语法将查询结果(可能涉及或不涉及连接)插入另一个表。 E.g:

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