hmm.  First question, no Order By, it joined the two selects together and
ordered them alphabetically, regardless of which table they came from.

Second question.  Can someone explain this to me.  Here's the queries and
record counts (just using some test data here):

getNames (Records=2489, Time=94ms)
SQL =
SELECT Name
        FROM Guestbook

getIPs (Records=178, Time=16ms)
SQL =
SELECT Name
        FROM Guestbook
        WHERE IPAddress = "212.250.157.251"

getStuff (Records=993, Time=78ms)
SQL =
SELECT Name
        FROM Guestbook

        UNION

        SELECT Name
        FROM Guestbook
        WHERE IPAddress = "212.250.157.251"


er, some kind of discrepancy.  Query 1 gives 2489 rows.  Query 2 gives 178
rows.  Unioned together, I get 993 rows.  What does that mean?  I'm sure
there's a simple logical explanation that I can't see.  I would have
expected to get probably 2489 rows back, or possibly 2667, but I can't work
out where 993 comes from at all.



Duncan Cumming
IT Manager

http://www.alienationdesign.co.uk
mailto:[EMAIL PROTECTED]
Tel: 0141 575 9700
Fax: 0141 575 9600

Creative solutions in a technical world

----------------------------------------------------------------------
Get your domain names online from:
http://www.alienationdomains.co.uk
Reseller options available!
----------------------------------------------------------------------
----------------------------------------------------------------------


                                                                                       
                                          
                    duncan.cumming@alienationde                                        
                                          
                    sign.co.uk                         To:     
[EMAIL PROTECTED]                                       
                                                       cc:                             
                                          
                    09/10/02 02:07 PM                  Subject:     [ cf-dev ] SQL 
UNION                                         
                    Please respond to dev                                              
                                          
                                                                                       
                                          
                                                                                       
                                          



If I have

SELECT a, b
FROM tableA
WHERE Dept = 1

UNION

SELECT a, b
FROM tableB

without any OrderBy clause, what order will the results be in?  tableA rows
followed by tableB rows, or could they be in any order at all?


Second question.  If I have UNION on two selects from the same table, eg:

SELECT a
FROM tableA
WHERE Dept = 1

UNION

SELECT a
FROM tableA
WHERE foo  = 'bar'

The two selects don't return mutually exclusive rows, i.e. there is an
overlap. Assume my table looks like

ID    Dept    foo
1      1           bar
2      1           notbar
3      2           bar
4      3           notbar

first select would return rows with ID 1 and 2
second select would return rows with ID 1 and 3
Overall would the Union give me 1, 2, 3, or would it give me 1, 2, 1, 3?


Duncan Cumming
IT Manager

http://www.alienationdesign.co.uk
mailto:[EMAIL PROTECTED]
Tel: 0141 575 9700
Fax: 0141 575 9600

Creative solutions in a technical world

----------------------------------------------------------------------
Get your domain names online from:
http://www.alienationdomains.co.uk
Reseller options available!
----------------------------------------------------------------------
----------------------------------------------------------------------


--
** Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
For human help, e-mail: [EMAIL PROTECTED]






-- 
** Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
For human help, e-mail: [EMAIL PROTECTED]

Reply via email to