<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Subpartition stats</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2012/06/04/subpartition-stats/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2012/06/04/subpartition-stats/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Thu, 23 May 2013 12:47:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/06/04/subpartition-stats/#comment-46982</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 07 Jun 2012 17:57:16 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8914#comment-46982</guid>
		<description><![CDATA[Ashley,
You&#039;re correct, but the reason why you can do it in ANSI is that Oracle transforms your ANSI, in a form which basically contains the necessary non-mergeable in-line view that makes it possible, e.g.

[sourcecode]
select
	/*+ qb_name(main) */
	gp.small_vc_gp,
	par.small_vc_p,
	chi.small_vc_c
from
	grandparent	gp
left outer join 
	parent		par
on	par.id_gp = gp.id
left outer join 
	child		chi
on	chi.id_p = par.id  -- to first table
and	chi.id_gp = gp.id  -- to second table
;

--------------------------------------------------------------------
&#124; Id  &#124; Operation            &#124; Name        &#124; Rows  &#124; Bytes &#124; Cost  &#124;
--------------------------------------------------------------------
&#124;   0 &#124; SELECT STATEMENT     &#124;             &#124;  2000 &#124;   115K&#124;   517 &#124;
&#124;*  1 &#124;  HASH JOIN OUTER     &#124;             &#124;  2000 &#124;   115K&#124;   517 &#124;
&#124;   2 &#124;   VIEW               &#124;             &#124;  2000 &#124; 80000 &#124;   121 &#124;
&#124;*  3 &#124;    HASH JOIN OUTER   &#124;             &#124;  2000 &#124; 68000 &#124;   121 &#124;
&#124;   4 &#124;     TABLE ACCESS FULL&#124; GRANDPARENT &#124;  1000 &#124; 15000 &#124;    40 &#124;
&#124;   5 &#124;     TABLE ACCESS FULL&#124; PARENT      &#124;  2000 &#124; 38000 &#124;    78 &#124;
&#124;   6 &#124;   TABLE ACCESS FULL  &#124; CHILD       &#124; 10000 &#124;   185K&#124;   381 &#124;
--------------------------------------------------------------------

Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
   1 - SEL$A4DA5D2A
   2 - SEL$58A6D7F6 / from$_subquery$_003@SEL$4
   3 - SEL$58A6D7F6
   4 - SEL$58A6D7F6 / GP@SEL$2
   5 - SEL$58A6D7F6 / PAR@SEL$1
   6 - SEL$A4DA5D2A / CHI@SEL$3

[/sourcecode]
Note the VIEW operator in line 2 of the plan, where the non-mergeable in-line view makes it presence felt.
]]></description>
		<content:encoded><![CDATA[<p>Ashley,<br />
You&#8217;re correct, but the reason why you can do it in ANSI is that Oracle transforms your ANSI, in a form which basically contains the necessary non-mergeable in-line view that makes it possible, e.g.</p>
<pre class="brush: plain; title: ; notranslate">
select
	/*+ qb_name(main) */
	gp.small_vc_gp,
	par.small_vc_p,
	chi.small_vc_c
from
	grandparent	gp
left outer join 
	parent		par
on	par.id_gp = gp.id
left outer join 
	child		chi
on	chi.id_p = par.id  -- to first table
and	chi.id_gp = gp.id  -- to second table
;

--------------------------------------------------------------------
| Id  | Operation            | Name        | Rows  | Bytes | Cost  |
--------------------------------------------------------------------
|   0 | SELECT STATEMENT     |             |  2000 |   115K|   517 |
|*  1 |  HASH JOIN OUTER     |             |  2000 |   115K|   517 |
|   2 |   VIEW               |             |  2000 | 80000 |   121 |
|*  3 |    HASH JOIN OUTER   |             |  2000 | 68000 |   121 |
|   4 |     TABLE ACCESS FULL| GRANDPARENT |  1000 | 15000 |    40 |
|   5 |     TABLE ACCESS FULL| PARENT      |  2000 | 38000 |    78 |
|   6 |   TABLE ACCESS FULL  | CHILD       | 10000 |   185K|   381 |
--------------------------------------------------------------------

Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
   1 - SEL$A4DA5D2A
   2 - SEL$58A6D7F6 / from$_subquery$_003@SEL$4
   3 - SEL$58A6D7F6
   4 - SEL$58A6D7F6 / GP@SEL$2
   5 - SEL$58A6D7F6 / PAR@SEL$1
   6 - SEL$A4DA5D2A / CHI@SEL$3

</pre>
<p>Note the VIEW operator in line 2 of the plan, where the non-mergeable in-line view makes it presence felt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ashley</title>
		<link>http://jonathanlewis.wordpress.com/2012/06/04/subpartition-stats/#comment-46944</link>
		<dc:creator><![CDATA[Ashley]]></dc:creator>
		<pubDate>Wed, 06 Jun 2012 08:02:25 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8914#comment-46944</guid>
		<description><![CDATA[Why does Oracle have the restriction that &quot;a table may be outer joined to at most one other table&quot;? When I re-write the SQL using ANSI SQL it permits the join.]]></description>
		<content:encoded><![CDATA[<p>Why does Oracle have the restriction that &#8220;a table may be outer joined to at most one other table&#8221;? When I re-write the SQL using ANSI SQL it permits the join.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hemant K Chitale</title>
		<link>http://jonathanlewis.wordpress.com/2012/06/04/subpartition-stats/#comment-46920</link>
		<dc:creator><![CDATA[Hemant K Chitale]]></dc:creator>
		<pubDate>Tue, 05 Jun 2012 16:00:54 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8914#comment-46920</guid>
		<description><![CDATA[Maybe you could change the title of this post.  &quot;double outer join and hiding behind a view&quot;.]]></description>
		<content:encoded><![CDATA[<p>Maybe you could change the title of this post.  &#8220;double outer join and hiding behind a view&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
