mysql中insert与select的嵌套使用解决组合字段插入问题

 更新时间:2014年07月27日 18:19:34   投稿:whsnow  
本节主要介绍了mysql中insert与select的嵌套使用解决组合字段插入问题,需要的朋友可以参考下

如何在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

其中f1是表b的字段,f2是表c的字段,通过join查询就将分别来自表b和表c的字段进行了组合,然后再通过select嵌套查询插入到表a中,这样就满足了我们这个场景了,如果需要不止2个表,那么可以多个join的形式来组合字段。需要注意的是嵌套查询部分最后一定要有设置表别名,如下:

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

即最后的as tb是必须的(当然tb这个名称可以随意取),即指定一个别名,否则在mysql中会报如下错误:

ERROR 1248 (42000): Every derived TABLE must have its own alias

即每个派生出来的新表都必须指定别名才可以的。

相关文章

  • 超详细MySQL8.0.22安装及配置教程

    超详细MySQL8.0.22安装及配置教程

    这篇文章主要介绍了超详细MySQL8.0.22安装及配置教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • MySQL实现清空分区表单个分区数据

    MySQL实现清空分区表单个分区数据

    这篇文章主要介绍了MySQL实现清空分区表单个分区数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • MySQL半同步复制原理配置与介绍详解

    MySQL半同步复制原理配置与介绍详解

    这篇文章主要介绍了MySQL半同步复制原理配置与介绍详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Mysql动态更新数据库脚本的示例讲解

    Mysql动态更新数据库脚本的示例讲解

    今天小编就为大家分享一篇关于Mysql动态更新数据库脚本的示例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Mysql查询优化的一些实用方法总结

    Mysql查询优化的一些实用方法总结

    对于MySQL查询语句来说,效率是最重要的,下面这篇文章主要给大家介绍了关于Mysql查询优化的一些实用方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Mysql行与列的多种转换(行转列,列转行,多列转一行,一行转多列)

    Mysql行与列的多种转换(行转列,列转行,多列转一行,一行转多列)

    在MySQL中,行转列和列转行都是非常有用的操作,本文就来介绍一下Mysql行与列的多种转换,主要包括行转列,列转行,多列转一行,一行转多列,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • Mysql默认设置的危险性分析

    Mysql默认设置的危险性分析

    一.mysql默认的授权表二.缺乏日志能力 三.my.ini文件泄露口令 四.服务默认被绑定全部的网络接口上 五.默认安装路径下的mysql目录权限
    2008-09-09
  • 解读MySQL的客户端和服务端协议

    解读MySQL的客户端和服务端协议

    这篇文章主要介绍了MySQL的客户端和服务端协议的相关资料,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-05-05
  • mysql8.0 windows x64 zip包安装配置教程

    mysql8.0 windows x64 zip包安装配置教程

    这篇文章主要为大家详细介绍了mysql8.0 windows x64 zip包安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • MySQL的查询缓存和Buffer Pool

    MySQL的查询缓存和Buffer Pool

    这篇文章主要介绍了MySQL的查询缓存和Buffer Pool,帮助大家更好的理解和学习MySQL 数据库,感兴趣的朋友可以了解下
    2020-11-11

最新评论