保存查询结果

语句格式:

insert into 表名 (列1,列2) select .....  #这个方法可以将查询的结果直接保存到表里。

新建一个表用来保存查询结果,学生id,名字,班级,年龄

create table info (
id int unsigned auto_increment primary key not null,
name varchar(10) not null,
class_name varchar(10) not null,
age int(100) unsigned
);

全列插入,将查询结果插入到info表。

insert into info 
select s.id,s.name,c.name as class_name,age from 
students as s  inner join class as c  on s.class_id=c.id;

指定列插入,约束条件为not null的必须插入,其他可用为null的列自动使用null填充。

insert into info (name,class_name)
select s.name,c.name as class_name from 
students as s  inner join class as c  on s.class_id=c.id;

union和union all

  • union all 将两次查询的结果集合并到一起显示
  • union 将两个查询的结果集先去重后合并到一起显示,
union all
union 去重后合并
数据库基础 all right reserved,powered by Gitbook文件修订时间: 2018-04-18 10:21:12