解决:这种情况是比较常见的,默认会去重,如果不想去重使用union all.
这里举例说明更直观:分别建两张表test12,test13,其中test12的sname列的第2行与test13的sname列的第1行。
create table test12(sname varchar(20) )engine myisam charset utf8;
insert into test12 values (‘a’),(‘b’),(‘c’);
create table test13(sname varchar(20) )engine myisam charset utf8;
insert into test13 values (‘b’),(‘c’),(‘d’);
(1)union后去重
使用union后的结果为:
select * from test12 union select * from test13;
发现生成的结果集建两个表进行去重,也可以从集合的概念来讲,就是两个集合的并集,因为我们之前说过每一张表可以看做一个集合。
(2)union后不去重,只需将union改为union all
select * from test12 union all select * from test13;
燕十八mysql中union后的结果有重复(即某2行或N行所有的列值相同),怎么解决?
最新推荐文章于 2024-09-26 10:49:42 发布