ORDER BY and LIMIT questions in EXCEPTs - Mailing list pgsql-general

From Doug Fields
Subject ORDER BY and LIMIT questions in EXCEPTs
Date
Msg-id 5.1.0.14.2.20021008140639.0292f850@pop.pexicom.com
Whole thread Raw
Responses Re: ORDER BY and LIMIT questions in EXCEPTs  (Jeff Davis <list-pgsql-general@empires.org>)
List pgsql-general
Hello,

I have questions about how ORDER BY and LIMIT work with "EXCEPT" joined
queries.

Let's say I have a query like:

SELECT * FROM something
    WHERE ...
    ORDER BY field
EXCEPT
SELECT * FROM something
    WHERE ...

(It's much faster than a self-join per my tests!)

Will the final output retain the order as specified by the "ORDER BY field"
clause?

Second question. Let's say I have a query like the above, but I insert a
"LIMIT limit OFFSET offset" clause. If I put the clause in the first SELECT
(before the EXCEPT), then I expect that the number of records returned will
be at most "limit" and possibly less due to the EXCEPT. Correct?

If I put the "LIMIT limit OFFSET offset" after the second SELECT, does it
apply to the whole integrated query, or just to the second SELECT clause?
Do I need to make this a subselect to make it apply to the whole query?
example:

SELECT * FROM (
    SELECT * FROM something
        WHERE ...
        ORDER BY field
    EXCEPT
    SELECT * FROM something
        WHERE ...
) AS a LIMIT limit OFFSET offset

Many thanks,

Doug


pgsql-general by date:

Previous
From: "Nigel J. Andrews"
Date:
Subject: Re: Efficient date range search?
Next
From: Robert Treat
Date:
Subject: Re: phpPgAdmin + PostgreSQL + authentication