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 Workbench快速引入sql文件的图文教程

    MySQL Workbench快速引入sql文件的图文教程

    在MySQL使用时,通常需要将数据库sql文件保存,或者是导入他人的sql文件,可以使用workbench处理,这篇文章主要给大家介绍了关于MySQL Workbench快速引入sql文件的相关资料,需要的朋友可以参考下
    2023-11-11
  • MSSQL output使用

    MSSQL output使用

    存储过程 output 输出参数 可以是一个字符串
    2009-05-05
  • 教你如何恢复使用MEB备份的MySQL数据库

    教你如何恢复使用MEB备份的MySQL数据库

    这篇文章主要介绍了教你如何恢复使用MEB备份的MySQL数据库的具体方法,需要的朋友可以参考下
    2016-09-09
  • PHP连接MySql闪断自动重连的方法

    PHP连接MySql闪断自动重连的方法

    当mysql连接闪断时,之后循环的执行将会失败。这篇文章主要介绍了PHP连接MySql闪断自动重连的方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-08-08
  • MySQL 字符串日期格式转换的几种方法

    MySQL 字符串日期格式转换的几种方法

    MySQL经常需要将字符串类型的日期转换成日期或时间类型,本文主要介绍了MySQL 字符串日期格式转换的几种方法,包括使用STR_TO_DATE()和DATE_FORMAT()函数,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • 详解MySQL中WHERE子句的用法

    详解MySQL中WHERE子句的用法

    这篇文章主要介绍了详解MySQL中WHERE子句的用法,是MySQL入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • MySQL聚簇索引和非聚簇索引的区别详情

    MySQL聚簇索引和非聚簇索引的区别详情

    这篇文章主要介绍了MySQL聚簇索引和非聚簇索引的区别详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-06-06
  • MySQL基于group_concat()函数合并多行数据

    MySQL基于group_concat()函数合并多行数据

    这篇文章主要介绍了MySQL基于group_concat()函数合并多行数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • mysql把查询结果按逗号分割的实现示例

    mysql把查询结果按逗号分割的实现示例

    使用MySQL数据库的GROUP_CONCAT函数,可以将查询结果按逗号或其他指定分隔符连接成字符串,这种方法适用于需要汇总数据并以字符串形式展示的场景,本文介绍了GROUP_CONCAT函数的基本用法和注意事项,感兴趣的可以了解一下
    2024-09-09
  • MySQL8.0中binlog的深入讲解

    MySQL8.0中binlog的深入讲解

    这篇文章主要给大家介绍了MySQL8.0中binlog的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10

最新评论