今天要将一个表中查询得到的数据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;
|