EXISTS predicate tests the existence of specified rows of a subquery. EXISTS can be used to replace comparisons with IN, and NOT EXISTS can be used to replace comparisons with NOT IN. However, the reverse is not true (see Example: EXISTS/NOT EXISTS Functions). For an example of a problem that can be solved only by using EXISTS or NOT EXISTS, see For ALL