Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Misbehaving query

RE: Misbehaving query

From: Carol Bristow <Carol.Bristow_at_dpra.com>
Date: Fri, 12 Dec 2003 12:44:25 -0800
Message-ID: <F001.005D9B41.20031212124425@fatcity.com>


Junk minus junk2 results in no rows, and when you do the implied cartesian join between view a and view b, joining no rows with one row gives no rows.

Makes sense to me.

Carol Bristow
DPRA Inc.
1300 N 17th St Suite 950
Rosslyn, VA 22209
Work: 703-841-8025
Fax: 703-524-9415

-----Original Message-----

Sent: Friday, December 12, 2003 3:05 PM
To: Multiple recipients of list ORACLE-L

Hi!

I have a query that I think is behaving oddly; and, it may just be that I'm
blind and am doing something silly (*there's* a first!), or it may be environment specific, but, I'm thinkin it may just be a bug. I have filed a
TAR with Oracle, and they keep sending workarounds, when I told them from
the start that I've got one, this is only a question of why this query isn't
working. So, two parts, really... is this query really not working, and if
so, does anyone have a clue as to why?

We're on 9.2.0.2 on SunOS. The overall issue is easy. I have two tables.
I want to find the difference in the contents. This is easily accomplished
by doing

A MINUS B
UNION
B MINUS A *That's* not the issue. The issue is that if I do this through inlines, the
query fails. I'll put everything out there so you can just cut and paste
iffen you wanna...

SQL> create table junk (test char(1));

Table created.

SQL> insert into junk values ('A');

1 row created.

SQL> insert into junk values ('B');

1 row created.

SQL> insert into junk values ('C');

1 row created.

SQL> create table junk2 as select * from junk;

Table created.

SQL> insert into junk2 values ('X');

1 row created.

SQL> select * from junk;

T
-

A
B
C

SQL> select * from junk2;

T
-

A
B
C
X

SQL> select * from junk minus select * from junk2   2 union
  3 select * from junk2 minus select * from junk;

T
-

X

SQL> select a.*
  2 from
  3 ( select * from junk2 minus select * from junk ) a;

T
-

X

SQL> select a.*, b.*
  2 from
  3 ( select * from junk2 minus select * from junk ) a,   4 ( select * from junk2 minus select * from junk ) b;

T T
- -

X X

SQL> select a.*, b.*
  2 from
  3 ( select * from junk minus select * from junk2 ) a,   4 ( select * from junk2 minus select * from junk ) b;

no rows selected

Anyone?
Bambi.
--

Please see the official ORACLE-L FAQ: http://www.orafaq.net
--

Author: Bellow, Bambi
  INET: bbellow_at_chi.navtech.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services

---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--

Please see the official ORACLE-L FAQ: http://www.orafaq.net
--

Author: Carol Bristow
  INET: Carol.Bristow_at_dpra.com
Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services

---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Fri Dec 12 2003 - 14:44:25 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US