如何写网站建设方案书,优化公司组织架构,网易企业邮箱怎么绑定,公司官网的seo若无特殊说明#xff0c;oracle与mysql均适用 使用场景
union、union all关键字用户将两个select查询结果集合并成一个结果集#xff0c;例如#xff1a;一个旧系统使用a表#xff0c;同样的信息但是新系统使用了b表#xff0c;这时候可以使用union或者union all关键字将…若无特殊说明oracle与mysql均适用 使用场景
union、union all关键字用户将两个select查询结果集合并成一个结果集例如一个旧系统使用a表同样的信息但是新系统使用了b表这时候可以使用union或者union all关键字将旧系统和新系统的数据合并显示。 union和union all的相同点和不同点
相同点都是对两个查询结果集进行并集操作。不同点union会合并重复的行而union all则不会所谓重复行即两行数据所有的查询字段都相同。union all先跟左边的查询结果然后再跟右边的查询结果。在oracle中union是全量排序所谓全量排序即先按照第一个字段排序然后按照第二个字段排序依次类推。而在mysql中union先跟左边的查询结果然后再跟右边的查询结果使用需要注意点
如果不想使用默认的全量排序可以在sql语句末尾使用order by数字排序字段的位置mysql还可以使用order by字段的方式关键字两边查询的字段要完全一样扩展补充(mysql不支持)
Intersect:取两个结果集的交集和并重复行。Minus取两个结果集的差集即在第一个查询结果中包含并且在第二个查询结果中不包含的数据合并重复行。DEMO
create table student_a(
id number,
name varchar2(100));create table student_b(
id number,
name varchar2(100));insert into STUDENT_A (id, name)
values (1, 张三);
insert into STUDENT_A (id, name)
values (2, 李四);
insert into STUDENT_A (id, name)
values (1, 张三);
commit;insert into STUDENT_B (id, name)
values (2, 李四);
insert into STUDENT_B (id, name)
values (3, 赵六);
commit;select id,name from student_a
union
select id,name from student_b ;select id,name from student_a
union all
select id,name from student_b ;select id,name from student_a
Intersect
select id,name from student_b ;select id,name from student_a
Minus
select id,name from student_b ;select id,name from student_a
union all
select id,name from student_b order by 1;