Логическое выражение в предложении WHERE нашего примера содержит только операторы конъюнкции (логическое И). По этой причине я здесь не использую скобок. Вообще же очень рекомендую всегда использовать скобки для явного задания порядка выполнения любых операторов, в особенности логических, потому что не часто на лету, когда в поте лица своего пишешь гениальную программу (при обычном отставании от утвержденного графика), вспомнишь порядок выполнения этих операций. Я вот только помню, что конъюнкция выполняется прежде дизъюнкции. Скобки совершенно необходимы, когда у вас довольно сложное логическое выражение. Иначе выяснение причин, почему неверно осуществляется выборка данных, может затянуться на длительное время.
Есть еще один неприятный момент для любителей языка Delphi, который раньше назывался Объектный Паскаль. Там при использовании операций сравнения и логических операций порядок выполнения действий отличается от того, что принято в языке SQL. В этом языке и сами операции сравнения следует заключать в скобки, чтобы избежать ошибок трансляции.
Проверка на присутствие в списке значений (вариант IN)
В варианте IN вы можете задать список, среди элементов которого должно (или не должно) находиться значение указанного столбца:
<значение> [NOT] IN ({<значение> [, <значение>] ... | <список выбора>})
В этом варианте можно задать как явно представленный список литералов или выражений, так и указать оператор SELECT, который возвращает произвольное количество значений ровно одного столбца.
Найдем из нашего списка всех Юль, Юлиев и Юлиан:[17]
SELECT PR_NAME2AS"Имя",
PR_NAME3AS"Отчество",
PR_NAMEAS"Фамилия",
PR_BIRTHDAY AS "Дата рождения"
FROM PERSON
WHEREPR_NAME2 IN ('Юлий','Юлия','Юлиана')
Листинг 11. Список Юль, Юлиев и Юлиан
Имя
Отчество
Фамилия
Дата рождения
Юлий
Альбертович
Алексеев
19.09.1974
Юлия
Геннадьевна
Проскурякова
29.09.1974
Юлия
Игоревна
Шатрова
03.04.1958
Юлия
Владимировна
Янышева
Юлия
Дмитриевна
Гаевская
07.01.1959
Юлиана
Валерьевна
Коршунова
02.03.1950
Юлия
Валерьевна
Кудинова
29.05.1981
Юлия
Владимировна
Лаврова
08.10.1949
Юлия
Анатольевна
Луковникова
06.12.1979
Юлия
Владимировна
Мясникова
01.09.1961
Юлия
Витальевна
Оборина
02.10.1984
Тот же самый результат можно было бы получить введя запрос с операторами сравнения:[18]