Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re[4]: to_number question
Thursday, July 15, 2004, 9:09:02 AM, Wolfgang Breitling (breitliw_at_centrexcc.com) wrote:
WB> As I tried to explain in my post, the optimizer deals with basic relational WB> operations - projection, filter, and join. If you visualize a table as a 2- WB> dimensional array, then projection limits the total set veryically, to certain WB> columns, and a filter limits the set horizontally, to a certain set of row, and WB> a join cobines two sets. Relational theory guarantees that these operations are WB> commutative, i.e. the order does not matter. The relational engine is WB> explicitly allowed to reorder them as needed.
I respectfully disagree in this case. We're talking about a query with a subquery. Here's Stephen's query again:
select /*+ NO_MERGE(Z) NO_PUSH_PRED(Z) PUSH_SUBQ(Z) */
distinct nbr_cc_fop_name into v_fop from (select nbr_cc_fop_name, nbr_cc_fop_high, nbr_cc_fop_low
from nbr_cc where nbr_cc_fop_name in ('AX','MC','VI','DS')) Z where to_number(trim(substr(p_corigid,1,20))) between to_number(trim(nbr_cc_no_low)) and to_number(trim(nbr_cc_no_high));
The target "table" for the outer query is that set of rows returned from the inner query. Thus, the outer query *must* consider only those rows. It's a fault, in my current opinion, for the outer query to look at any row not returned by the inner query.
Best regards,
Jonathan Gennick --- Brighten the corner where you are http://Gennick.com * 906.387.1698 * mailto:jonathan@gennick.com
Join the Oracle-article list and receive one article on Oracle technologies per month by email. To join, visit http://five.pairlist.net/mailman/listinfo/oracle-article, or send email to Oracle-article-request_at_gennick.com and include the word "subscribe" in either the subject or body.
![]() |
![]() |