Because they are seldom used, they are almost forgotten, but they can be useful to greatly simplify the syntax of some SQL, as for efficiency.
As the CCW says, they are no different from the exists, in and the like, and have specific problems to analyze
Where any and some are the same in meaning,
can replace each other.
Give a few examples to illustrate the use of all and any
1. Select * from TABLEA WHERE FLD > All (select FLD from TABLEA)
This is equivalent to
SELECT * from TABLEA WHERE FLD > (select MAX (FLD) from TABLEA)
2. Select * from TABLEA WHERE FLD > A (select FLD from TABLEA)
This is equivalent to
SELECT * from TABLEA WHERE FLD > (select MIN (FLD) from TABLEA)
3. Select * from TABLEA WHERE FLD = no (select FLD from TABLEA)
This is equivalent to
SELECT * from TABLEA WHERE FLD on (select FLD from TABLEA)
Finally, about having it is an operator for aggregate calculations, and where it has different meanings
When using group has the meaning of comparing records in each group,
In other words, it's a condition for selecting a set of data
Where is not related to grouping, it is the criteria for selecting a row of data
Like what
SELECT NAME, AVG (price) from STORE GROUP by NAME have avg (price) > 10
There's a place where there's no substitute.
As for efficiency, where is the processing done before the result set is generated,
and have to wait until the result set after the processing of the loop execution, natural efficiency is lower, so in only need to operate on the line, do not use having.
Http://www.cnblogs.com/Ronger/archive/2011/12/28/2305175.html
[Oracle]any, all parsing