difference between UNION operator and OR in where clause
From: Mike <gongweigang_at_gmail.com>
Date: Tue, 10 Jul 2007 06:39:30 -0700
Message-ID: <1184074770.394660.52860_at_d55g2000hsg.googlegroups.com>
tables:
Date: Tue, 10 Jul 2007 06:39:30 -0700
Message-ID: <1184074770.394660.52860_at_d55g2000hsg.googlegroups.com>
tables:
1. publication(pubid, title) 2. book(pubid, date) 3. journal(pubid, date)
purpose: find all publication titles for books or journals.
solution 1: use set "union"
select title
from publication, ( (select pubid from book) UNION (select pubid from
journal)) bj
where publication.pubid = bj.pubid
solution 2: use "or" operator in the where clause
select title
from publication, book, journal
where publication.pubid = book.pubid or publication.pubid =
journal.pubid
This example is taken from some lecture notes about sql. The notes said the solution 2 was wrong.
Anyone knows why ?
Thanks ahead. Received on Tue Jul 10 2007 - 15:39:30 CEST