保存查询结果
语句格式:
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 将两个查询的结果集先去重后合并到一起显示,