Запросы в СУБД Paradox. Формирование запросов для типичных случаев, страница 2

Теми же средствами строятся произвольные запросы к базе данных. Пусть, например, требуется дать информацию по факультетам, где число студентов в некоторых группах превышает 25 человек. Соответствующий запрос и его результат приведены на рис. 6а.6.

GROUPS

+--- -----------------------------------+

¦ F  ¦  SPEC   ¦  Y     ¦  STG  ¦   QST ¦

+--- +---------+--------+-------+-------¦

¦ Е  ¦         ¦        ¦ V     ¦ V >25 ¦

+---------------------------------------+

FAC

+--------------+

¦ F   ¦    NF  ¦

+-----+--------¦

¦  Е  ¦ V      ¦

+--------------+

ANSWER

------------------------------+

¦    STG    ¦  QST    ¦  NF   ¦

+-----------+---------+-------¦

¦    ВМ-51  ¦  33     ¦  ИИТ  ¦

------------------------------+

Рисунок 6а.6

Таким образом формирование запроса включает:

¨  выбор таблиц, для которых формируется запрос, с использованием услуги ASK,

¨  заполнение форм таблиц определенными значениями, которые определяют суть запроса применительно к полям таблицы.

Запрос выполняется либо при выборе пункта меню "Do_it", либо при нажатии клавиши "F2". В запросах можно использовать операторы, отображенные в таблице.

Таблица

+-------------------------------------------------------------+

¦ Категория  ¦  Оператор ¦    Назначение (значение) оператора ¦

+------------+-----------+------------------------------------¦

¦Зарезервиро-¦ радикал   ¦ Для отображения данного поля в таб-¦

¦ванные слова¦           ¦ лице ANSWER                        ¦

¦            ¦ радикал со¦ Для отображения поля с повторяющими¦

¦            ¦ знаком "+"¦ ся значениями в записях дубликатах ¦

¦            ¦ insert    ¦ Для включения в таблицу новых запи-¦

¦            ¦           ¦ сей                                ¦

¦            ¦ delete    ¦ Для удаления записей из таблицы    ¦

¦            ¦ changeto  ¦ Для изменения значений полей в за- ¦

¦            ¦           ¦ писях.                             ¦

¦            ¦ find      ¦ Для нахождения  записей в таблице  ¦

¦            ¦ set       ¦ Для определения выбранных записей в¦

¦            ¦           ¦ качестве набора для сравнения.     ¦

¦Арифметичес-¦"+", "-",  ¦ Для формирования арифметических    ¦

¦кие         ¦"*", "/",  ¦ выражений, конкатенации строк.     ¦

¦операторы   ¦"(", ")".  ¦                                    ¦

¦Операторы   ¦"=", ">=", ¦ Для формирования арифметических    ¦

¦диапазона   ¦"<", "<=", ¦ выражений, конкатенации строк.     ¦

¦операторы   ¦">".       ¦                                    ¦

¦Оераторы    ¦..         ¦ Любые символы                      ¦

¦шаблона     ¦@          ¦ Любой единичный символ             ¦

¦(маски)     ¦           ¦                                    ¦

¦Специальные ¦ like      ¦ Подобен                            ¦

¦операторы   ¦ not       ¦ Не совпадает с                     ¦

¦            ¦ blank     ¦ В поле нет значения                ¦

¦            ¦ today     ¦ Сегодняшняя дата                   ¦

¦            ¦ or        ¦ Дизъюнкция для операторов в поле   ¦

¦            ¦ ,         ¦ Конъюнкция для операторов в поле   ¦

¦            ¦ as        ¦ Задает имя поля в ANSWER           ¦

¦            ¦ !         ¦ Отображает все записи таблицы,     ¦

¦            ¦           ¦ независимо от условий соединения   ¦

¦            ¦           ¦ (внешнее соединение)               ¦

¦Операторы   ¦ average   ¦ Среднее значение                   ¦