mysql中insert与select的嵌套使用方法

 更新时间:2014年07月18日 17:56:37   投稿:shichen2014  
这篇文章主要介绍了mysql中insert与select的嵌套使用方法,代码功能非常实用,需要的朋友可以参考下

本文讲述了mysql中insert与select的嵌套使用的方法,对于初学MySQL的朋友有一定的借鉴价值。

这里需要实现在mysql从多个表中组合字段然后插入到一个新表中,通过一条sql语句实现该功能需求。具体情形是:有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,我们可以使用如下的语句来实现:

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

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

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

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

相关文章

  • MySQL中字符串索引对update的影响分析

    MySQL中字符串索引对update的影响分析

    这篇文章主要介绍了MySQL中字符串索引对update的影响,结合实例形式分析了添加索引操作对于update语句的性能所造成的影响,需要的朋友可以参考下
    2016-04-04
  • 30个mysql千万级大数据SQL查询优化技巧详解

    30个mysql千万级大数据SQL查询优化技巧详解

    本文总结了30个mysql千万级大数据SQL查询优化技巧,特别适合大数据里的MYSQL使用
    2018-03-03
  • CentOS6.8使用cmake安装MySQL5.7.18

    CentOS6.8使用cmake安装MySQL5.7.18

    这篇文章主要为大家详细介绍了CentOS6.8使用cmake安装MySQL5.7.18的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Linux安装MySQL5.6.24使用文字说明

    Linux安装MySQL5.6.24使用文字说明

    这篇文章主要为大家详细介绍了Linux安装MySQL使用文字说明,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • mysql备份恢复mysqldump.exe几个常用用例

    mysql备份恢复mysqldump.exe几个常用用例

    收集了,一个整理不错的,mysql备份与恢复用法
    2008-08-08
  • 简单解析MySQL中的cardinality异常

    简单解析MySQL中的cardinality异常

    这篇文章主要介绍了简单解析MySQL中的cardinality异常,这个异常会导致索引无法使用,需要的朋友可以参考下
    2015-05-05
  • MySQL数据库基于sysbench实现OLTP基准测试

    MySQL数据库基于sysbench实现OLTP基准测试

    这篇文章主要介绍了MySQL数据库基于sysbench实现OLTP基准测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 深入浅出的学习Mysql

    深入浅出的学习Mysql

    最近看了一本小书,网易技术部的《深入浅出MySQL数据库开发、优化与管理维护》,算是回顾一下mysql基础知识。下面这篇文章主要介绍了学习Mysql的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • MySQL分页分析原理及提高效率

    MySQL分页分析原理及提高效率

    这篇文章主要介绍了MySQL分页分析原理及提高效率的相关资料,需要的朋友可以参考下
    2017-05-05
  • navicat创建MySql定时任务的方法详解

    navicat创建MySql定时任务的方法详解

    这篇文章主要介绍了navicat创建MySql定时任务的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10

最新评论