全国咨询热线:400-618-4000

JAVA培训之多表查询之合并结果集

创建时间:2016年10月19日17时51分 来源:传智播客JAVA培训学院

多表查询之合并结果集
多表查询有以下三个分类:
  • 合并结果集
  • 连接查询
  • 子查询
首先我们先来了解什么是合并结果集,合并结果集指的是将多个查询结果集合并输出。关键词是:UNION[ALL],合并结果集也有以下要求:
  • 要求被合并的结果集中,列的类型和列数相同。
(1)下面我们创建两个表,分别是one表和two表,然后分别向这两个表中插入记录,如图1-1所示:

图1-1 one表与two表信息
(2)将one表的结果集与two表的结果集合并,如图1-2所示:

图1-2 合并结果集
图1-2中,合并的结果是将one表的所有记录与two表的所有记录合并在一起,如图1-3所示:

图1-3 合并过程
需要注意的是,合并的并不是表,而是结果集,另外合并之前,查询的两个结果集的列名称不需要相同,只要满足列的个数和类型一样就可以;当然也可以合并两个以上的结果集。下面我们合并emp表与dept表的查询结果集,如图1-4所示:

图1-4 合并结果集
虽然emp表的列的个数与dept表列的个数不相同,但是结果集select deptno from emp中列的个数与类型与结果集select deptno from dept中的列的个数与类型相同。
合并关键词:UNION [ALL]中的all可以省略,如图1-5所示:

图1-5 合并结果集
图1-5与图1-2相比,查询语句的区别就是图1-5中的查询语句少了all关键字,得到的查询结果不一样,图1-5中合并的结果将重复的行去掉了。
  • UNION,去除重复行;
  • UNION ALL,不去除重复行。


本文版权归传智播客人工智能+Python学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客人工智能+Python学院