Partition Outer Join是Oracle 10g新增加的,用来方便“补足”在outer join的时候“漏掉”(NULL)的数据。

 

当两个用来做Join的表中的数据不“相当”的时候,如果我们希望在最终结果中其中一张表的所有records都不落下,一般会用到outer join。另外一个表中“缺失”的那部分数据自然都是以NULL来补足。但是如果我们希望缺失的那部分数据(NULL)能正常"补足'’ 出来,这个时候用Partiton Outer Join就会很方便,而且性能很好。

 

举个例子,来源这里

 

首先建立一个测试表customer_orders,

SQL>
  1  CREATE TABLE customer_orders(name, dt, amt)
  2  AS
  3     SELECT *
  4     FROM (
  5            SELECT owner,
  6                   TRUNC(created) + MOD(ROWNUM, 6),
  7                   TRUNC(object_id/ROWNUM)
  8            FROM   all_objects
  9            WHERE  owner IN ('ORDSYS', 'WKSYS')
 10            ORDER BY
 11                   DBMS_RANDOM.RANDOM
 12           )
 13*    WHERE ROWNUM <= 1000
SQL> / 
 
Table created. 

相关文章:

  • 2021-11-08
  • 2022-12-23
  • 2021-12-31
  • 2022-02-17
  • 2021-11-17
猜你喜欢
  • 2022-12-23
  • 2021-12-25
  • 2021-05-06
  • 2021-04-28
  • 2022-02-05
  • 2021-09-19
相关资源
相似解决方案