分享好友 数据库首页 频道列表

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

MySQL教程  2015-09-05 21:370

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

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

查看更多关于【MySQL教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
MySQL中insert语句的使用与优化教程
这篇文章主要介绍了MySQL中insert语句的使用与优化教程,使用insert语句插入数据是MySQL入门学习中的基础知识,需要的朋友可以参考下

0评论2016-05-18164

详解MySQL数据库insert和update语句
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。接下来通过本文给大家介绍MySQL数据库insert和update语句,需要的朋友一起学习吧

0评论2016-05-18137

逐步分析MySQL从库com_insert无变化的原因
大家都知道com_insert等com_xxx参数可以用来监控数据库实例的访问量,也就是我们常说的QPS。并且基于MySQL的复制原理,所有主库执行的操作都会在从库重放一遍保证数据一致,那么主库的com_insert和从库的com_insert理论上应该是相等的。

0评论2015-11-2357

正确使用MySQL INSERT INTO语句
MySQL数据库是一种小型关系型数据库管理系统,MySQL数据库的优化是MySQL数据库操作过程中非常重要的工作,MySQL数据库的优化能够实现MySQL数据库操作的简便。

0评论2015-11-12130

oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
最近接了一个项目,其中项目需求,有一个非常纠结的问题,由于业务的关系,DB的数据表无法确定,在使用过程中字段可能会增加,这样在insert时给我造成了很大的困扰。接下来,通过本篇文章给大家介绍oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert

0评论2015-11-09399

解析mysqldump的delay-insert选项
本篇文章是对mysqldump的delay-insert选项进行了详细的分析介绍,需要的朋友参考下

0评论2015-11-0894

MySQL 关于表复制 insert into 语法的详细介绍
本篇文章是对MySQL中关于表复制insert into语法进行了详细的分析介绍,需要的朋友参考下

0评论2015-11-08133

解析MySQL中INSERT INTO SELECT的使用
本篇文章是对MySQL中INSERT INTO SELECT的使用进行了详细的分析介绍,需要的朋友参考下

0评论2015-11-08111

INSERT INTO .. ON DUPLICATE KEY更新多行记录
本文详细的介绍了关于INSERT INTO .. ON DUPLICATE KEY更新多行记录,有需要了解的同学可参考一下

0评论2015-11-0795

insert into … on duplicate key update / replace into 多行数据介绍
当我插入一条数据时,我要判断(k1,k2)是否已经存在(1条selete),若存在就update,不存在就insert

0评论2015-11-0745

mysql快速添加百万条记录的语句
本文介绍一下关于MySQL使用INSERT SELECT批量插入数据的方法

0评论2015-11-06123

MySQL生产库Insert了2次同样的记录但是主键ID是不一样的问题的分析过程
这篇文章主要介绍了MySQL生产库Insert了2次同样的记录但是主键ID是不一样的问题的分析过程,需要的朋友可以参考下

0评论2015-11-0551

MySql中使用INSERT INTO语句更新多条数据的例子
这篇文章主要介绍了MySql中使用INSERT INTO语句更新多条数据的例子,MySQL的特有语法,需要的朋友可以参考下

0评论2015-09-2173

mysql中insert与select的嵌套使用方法
这篇文章主要介绍了mysql中insert与select的嵌套使用方法,代码功能非常实用,需要的朋友可以参考下

0评论2015-09-0940

ORACLE SQL-UPDATE、DELETE、INSERT优化和使用技巧分享
这篇文章主要介绍ORACLE中SQL-UPDATE、DELETE、INSERT优化和使用技巧,需要的朋友可以参考下

0评论2015-08-21106

sql server Bulk Insert命令详细
这篇文章主要介绍了sql server Bulk Insert命令详细 ,需要的朋友可以参考下

0评论2015-08-12142

SQLServer存储过程生成insert语句实例
这篇文章主要介绍了SQL Server使用存储过程生成insert语句再执行大量插入数据的方法

0评论2015-08-01125

mysqlinsert语句操作实例讲解
这篇文章主要介绍了mysql insert语句操作实例讲解,本文讲解了insert的基本语法、批量插入多条数据、使用set插入数据、INSERT…SELECT语句等内容,需要的朋友可以参考下

0评论2015-07-2964

更多推荐