On Fri, 06 Aug 2004 13:17:42 -0400, Michael Stassen <[EMAIL PROTECTED]> wrote: > You need a LEFT JOIN: > > SELECT ticket_number > FROM purchased_items LEFT JOIN purchases > ON purchased_items.ticket_number = purchases.ticket_number > WHERE purchases.ticket_number IS NULL;
No, actually he doesn't. SELECT ticket_number FROM purchased_items WHERE ticket_number NOT IN (SELECT ticket_number FROM purchases); The above will most certainly be faster than any join, because it is only a couple projections and a simple selection over ticket_number (which is almost certainly indexed). Although, I suppose if this is only a maintenance query (I suspect it is), then it probably doesn't matter. But, the bottom line is: if you can avoid join, do it. There's only so much the query optimizer can do. -- Matt Warden Berry Neuroscience Lab Department of Psychology Miami University This email proudly and graciously contributes to entropy. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]