表复制
简单说就是:插入数据的是一个子查询
insert into 表名 (子查询);
栗子:复制pon表两次
SQL语句:
insert into pon (select * from pon);
程序运行结果:
表去重
简单说就是:依靠另一张新表和distinct关键字+子查询
insert into 表名 (distinct+子查询);
栗子:去重表pon
SQL语句:
--创建一张tmp_pon 表,表结构同pon。(仅结构,没数据)
create table tmp_pon like pon;
insert into tmp_pon (select distinct * from pon);
drop table pon;
alter table tmp_pon rename as pon;
程序运行结果:
合并查询
简单说就是:利用union all或union关键字合并两个查询语句的结果。
--使用union all合并的查询不会取消重复行。
查询语句1 union all 查询语句2;
--使用union合并的查询会取消重复行。
查询语句1 union 查询语句2
union all
使用该关键字不会去重。
栗子:合并查询person表中,性别W和性别M的数据。
SQL语句:
select * from person where sex='M'
union all
select * from person where sex='W';
程序运行结果:
union
使用该关键字会去重。
栗子:合并查询pon表。
SQL语句:
select * from pon
union
select * from pon;
程序运行结果:
以上举例都有局限性,如果两次查询的表都不是同一张表就可以体现合并查询的好处。
标签:语句,表去,Java,union,之表,查询,pon,SQL,select From: https://www.cnblogs.com/Ocraft/p/17831604.html