Составители:
Рубрика:
Однако SQL предлагает более простой способ получить ту же информацию:
SELECT *
FROM Сотрудник
WHERE Год_ рожд IN (1940, 1980);
Ид_
Сотр
Фамилия Имя Отчество ИНН Год_
рожд.
Пол Город Район
Ин-
декс
Ид_
Совм
5 Петухов Виктор Борисович 105 1940 М Пушкин Пушк 99481 1
12 Иванов Иван Иванович 712 1980 М СПБ Фрун 94555
14 Яковлев Иван Васильевич 714 1980 М СПБ Фрун 94550
Рис. 4.11. Поиск сотрудников определенного года рождения
Как Вы можете видеть, IN определяет набор значений с помощью имен членов
набора, заключенных в круглые скобки и отделенных запятыми. Он затем проверяет
различные значения указанного поля, пытаясь найти совпадение со значениями из
набора. Если это случается, то предикат верен. Когда набор содержит значения номеров,
а не символов, одиночные кавычки опускаются.
Поэтому следующий запрос Вам будет понятен без вывода результирующей
таблицы (в ответе будет три строки):
SELECT *
FROM Сотрудник
WHERE Фамилия IN ("Иванов", "Петров");
Рассмотренная форма IN является просто краткой записью последовательности
отдельных сравнений, соединенных операторами OR.
Еще один пример с использованием IN. Выдать ведомость оплаты за март месяц
отдела с
номером 1.
SELECT *
FROM Ведомость_ оплаты
WHERE Ид_Отд IN ( 1 ) AND Период="Март";
В результате запроса будет получена таблица (рис. 4.12):
Страницы
- « первая
- ‹ предыдущая
- …
- 81
- 82
- 83
- 84
- 85
- …
- следующая ›
- последняя »
