Выборка, требующая использования связки OR

Выдать номера поставщиков и состояния для поставщиков,которые либо находятся в Париже, либо имеют состояние более20,либо удовлетворяют обоим этим условиям(модифицированный вариант примера 4.2.5).

Условия, специфицированные в одной строке, считаются соединенными связкой AND, как иллюстрировалось приведенными до сих пор примерами. Для того, чтобы два условия были связаны с помощью OR, они должны быть специфицированы в разных строках, как показано ниже:

S НОМЕР_ПОСТАВЩИКА ФАМИЛИЯ СОСТОЯНИЕ ГОРОД
  Р. Р.     > 20 Париж

Замечание. Если данный поставщик удовлетворяет обоим условиям этого примера, соответствующий номер поставщика будет всеже появляться в результате только один раз.

Другой подход к этому запросу основан на использовании так называемого блока условия. Блок условия позволяет специфицировать условия любой степени сложности. Например:

S НОМЕР_ПОСТАВЩИКА ФАМИЛИЯ СОСТОЯНИЕ ГОРОД
  Р.   -ST -SC
УСЛОВИЯ
-SC = Париж OR -ST > 20

Пояснение. Здесь -ST и -SC являются «элементами образца». Фактически они представляют собой переменные, обозначающие состояние и город соответственно некоторого потенциального целевого поставщика. Блок условия специфицирует предикат, которому должны удовлетворять эти переменные для того, чтобы соответствующий целевой поставщик оказался среди поставщиков, подлежащих выборке. Имя элемента образцаможет быть произвольным с тем лишь ограничением, что оно должно начинаться с символа подчеркивания.

Другая команда редактирования DRAW COND(нарисовать блок условия) служит для того, чтобы заставить QMF показать на экране пустой блок условия. Условия в блоке условия могут включать AND, OR, NOT, IN (только в форме простого списка значений), LIKE и NULL, совсем как в SQL. (Замечание. IN, LIKE и NULL могут использоваться при заполнении пустой таблицы так же, как и блока условия.) Однако часто легче формулировать запросы без использования блока условия, и в дальнейшем возможность его использования часто будет игнорироваться.

ВЫБОРКА ПО МНОЖЕСТВУ УСЛОВИЙ, ЗАДАННЫХ ДЛЯ ОДНОГО И ТОГО ЖЕ СТОЛБЦА И ОБЪЕДИНЕННЫХ СВЯЗКОЙ AND

Выдать номера деталей, вес которых находится в диапазоне от 16 до 19 включительно (пример 4.2.7):

Р НОМЕР_ДЕТАЛИ НАЗВАНИЕ ЦВЕТ ВЕС ВЕС ГОРОД
  Р.     >= 16 <= 19  

Для добавления к пустой таблице второго столбца с именем ВЕС перед тем, как формулировать запрос, используются команды редактирования.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: