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

¦обобщения   ¦ count     ¦ Число значений                     ¦

¦            ¦ max       ¦ Наибольшее значение                ¦

¦            ¦ min       ¦ Наименьшее значение                ¦

¦            ¦ sum       ¦ Сумма значений                     ¦

¦            ¦ all       ¦ Вычисление суммы для всех значений ¦

¦            ¦           ¦ в группе, включая повторяющиеся    ¦

¦            ¦ unique    ¦ Вычислить сумму, основываясь на    ¦

¦            ¦           ¦ уникальных значениях в группе.     ¦

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

ФОРМИРОВАНИЕ ЗАПРОСОВ ДЛЯ ТИПИЧНЫХ СЛУЧАЕВ.

а) Включение повторяющихся записей

Если вы хотите видеть все записи, найденные при выполнении запроса, включая повторяющиеся, нажмите для соответствующих колонок таблицы комбинацию клавиш "ALT F6" вместо "F6". В этом случае СУБД включает каждую запись, удовлетворяющую заданным условиям в таблицу ANSWER. Но при этом записи результативной таблицы не сортируются.

б) Выбор записей.

В большинстве случаев пользователя интересуют не все записи таблицы, а только те, что удовлетворяют заданному условию. Соответствующие предикаты записываются средствами QBE. Например,

P(GROUPS)= (SPEC+220100)&(Y>1997).

При формировании условий, можно делать выбор, основываясь на:

¨  точном совпадении,

¨  диапазоне,

¨  использовании шаблона,

¨  неточных совпадениях,

¨  вычислениях.

Например, необходимость указания диапазона обычно требует записи логических выражений, содержащих операцию конъюнкции (рис. 6а.7).

GROUPS

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

¦ F ¦  SPEC   ¦  Y           ¦  STG  ¦   QST ¦

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

¦   ¦         ¦<1999,>1994   ¦ V     ¦ V     ¦

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

ANSWER

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

¦STG   ¦ QST    ¦

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

¦ ПО-71¦  16    ¦

¦ ПО-51¦  24    ¦

¦ ВМ-71¦  33    ¦

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

         Рисунок 6а.7

Если пользователя интересуют записи записи, не соответствующие некоторым условиям, можно использовать критерий выбора с оператором NOT (рис. 6а.8).

GROUPS

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

¦ F ¦  SPEC   ¦  Y           ¦  STG  ¦   QST ¦

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

¦   ¦         ¦  NOT 1995    ¦ V     ¦ V     ¦

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

ANSWER

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

¦STG   ¦ QST    ¦

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

¦ ПО-71¦  16    ¦

¦ ВМ-71¦  33    ¦

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

         Рисунок 6а.8

Условия выбора записей может включать операцию дизъюнкции (рис. 6а.9).

GROUPS

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

¦ F ¦  SPEC            ¦  Y           ¦  STG  ¦   QST ¦

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

¦ V ¦ 220400 OR 220100 ¦ =1995        ¦ V     ¦ V     ¦

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

ANSWER

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

¦STG   ¦ QST    ¦

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

¦ ПО-51¦  14    ¦

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

         Рисунок 6а.9

В условиях можно использовать вычисления (рис. 6а.10). На рисунке представлен бланк запроса для поиска студентов для включение в список для голосования по таблице со списком студентов, содержащей следующие поля:

ST - фамилия и инициалы студента,

GR - название группы студентов,

BD - дата рождения студента.

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

¦ ST  ¦  GR  ¦     BD      ¦

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

¦ V   ¦  V   ¦>Today-365*18¦

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

      Рисунок 6а.10

СОЗДАНИЕ ПЕРЕКРЕСТНЫХ ТАБЛИЦ.