Oracle常用关键字-高级应用

时间:2022-04-22 17:02:14

  当我们存在这种业务需要的时候,如:版本对比,数据收集或分离,就存在两张二维表的数据字段完全一致,这个时候oracle提供了两个函数可以快速高效的实现我们所要实现的功能

  (1)留同去异(INTERSECT)   //英文翻译其实就是交叉的,相交的线路

   此函数的作用是将两个数据集*同存在的数据记录提取出来,这两个数据集的字段是一一对应的,当然存在我们可能只需要比较数据行中的某个或某几个字段时,可以先只就这几个字段进行比较,再将比较的结果作为查询条件来返回我们所需要的结果

   eg:

   select t.* from userInfo t  where t.Salary in (select a.Salary from userinfo a intersect select b.Salary from userinfo b)//这就可以查询出用户信息表中工资相同的同事的所有信息

   (2)留异去同(MINUS)  //英文翻译其实就是减,减去

   此函数的作用是将两个数据集中差异的数据记录提取出来

   eg:

  select t.* from userInfo t  where t.Id in (select a.Id from userinfo a minus select b.Id from userinfo b)//这就可以查询用户信息表中用户ID不同的同事的所有信息