doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:5200回复:0

[mysql]mysql中insert into select from的使用

楼主#
更多 发布于:2020-05-06 18:27
如何在mysql从多个表中组合字段然后插入到一个新表中,通过一条sql语句实现。具体情形是:有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,我们可以使用如下的语句来实现:

INSERT INTO db1_name(field1,field2) SELECT field1,field2 FROM db2_name


当然,上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,我们可以先将需要查询的字段join起来,然后组成一个视图后再select from就可以了:


INSERT INTO a(field1,field2) SELECT * FROM (SELECT f1,f2 FROM b JOIN c) AS tb


需要注意的是嵌套查询部分最后一定要有设置表别名,如下:


SELECT * FROM(SELECT f1,f2 FROM b JOIN c) AS tb

参考:https://www.cnblogs.com/jpfss/p/6973048.html
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号