Chinaunix首页 | 论坛 | 博客
  • 博客访问: 642795
  • 博文数量: 198
  • 博客积分: 4256
  • 博客等级: 上校
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-15 13:12
文章分类

全部博文(198)

文章存档

2012年(12)

2011年(39)

2010年(135)

2009年(12)

我的朋友

分类: Mysql/postgreSQL

2011-05-17 10:59:31

今天要将一个表中查询得到的数据insert 到另外一个表中:

INSERT INTO `faculty` (`name`) SELECT DISTINCT `keshi`
FROM `doctor`

跨数据库多个字段复制。
insert into hospital.hospital (`id`,`name`,`city`,`area`,`level`,`details`,`phone`,`mapurl`,`way`,`address`) select `id`,`name`,`city`,`area`,`level`,`details`,`phone`,`mapurl`,`way`,`address` from collection.hospital


参考:

子查询不仅可以嵌套在SELECT语句中,用以构造父查询的条件,也可以嵌套在INSERT语句中,用以生成要插入的批量数据。
插入子查询结果的INSERT语句的格式是:
INSERT 
INTO<表名>[(<属性列1>{<属性列2>...})]
子查询

例如:对于每一个系,求学生的平均年龄,并把结果存放入数据库
首先在数据库中建立一个新表,其中一列存放系名,另一列存放相应的学生平均年龄。
CREATE TABLE Deptage
(
 Sdept char(15)
 Avgage smallint
);
然后对Student表按系分组求平均年龄,再把系名和平均年龄存入新表中。
INSERT 
INTO Deptage(Sdept,Avgage)
 SELECT Sdept,AVG(Sage)
 FROM Student
 GROUP BY Sdept;


阅读(3663) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~