I have
mentioned that parts of a SELECT statement to do queries. Certain pieces of it
are called predicates. These include ON, WHERE and HAVING. Some categories of
predicates are Search Arguments. Those can take advantage of indexes for better
performance. This can only happen if the predicate does not use functions like COALESCE
or ISNULL. If it does, it is not a Search Argument and the indexes cannot be
used.
You can have
multiple clauses in a predicate. They are connected by AND or OR keywords. The
AND has a higher precedence than OR. That means in a statement with multiple
AND/OR combinations, the AND operations are evaluated first.
When doing checks on character (string) values,
you can use the LIKE operator. The LIKE works with a string with special values
such as the % which represents any characters. The underscore represents any
single character. A list of characters in braces means any one character from
that list. And if you put a caret (^) in front of the list, it means any
character that is not in that list.