Subject Re: Left Join vs Not Exists
Author Adam
> That strikes me as a gross flaw in FB (I assume IB is
> the same). Maybe one for the wish list - I was always
> impressed by the fact that IB/FB were standards
> driven. Why has it not been done?

A Flaw is too strong a word for this. It is not a defect in Firebird.
It does not compromise operations, or give the wrong results etc. It
is not behaviour contrary to a specification. A missing useful feature
perhaps. Possibly even a weakness. I would go as far to say that it
may even be a worthwhile feature to implement.

It may even be something that forces the optimiser to choose a bad
plan. There are in fact two ways in the subject line that allow you to
achieve this, the original question was about which method would have
better performance. As it turns out, the better performance is
potentially had by not exists, and it also reads much nicer.

There are flaws in Firebird; the classic insert into tablea select
from tablea is one.

I wasn't quite sure of your argument about things being implemented on
the server rather than the client side though. Not Exists etc is
implemented in the database server, and the minus operator would be
the same. To me anyway, not exists reads better.