Реализацию запросов в обоих формах рассмотрим на примере базы данных построенной на практических занятиях. Пусть нужно реализовать запрос: Какие организации не оплатили заказы?
Из текста запроса ясно, что для ответа на него нужно выбрать данные атрибутов: наименование организации, номер заказа и сумма оплаты. Получить эти данные можно из отношений «Клиенты», «Заказы» и «Оплата». В соответствии с моделью данных базы между этими отношениями установлены следующие связи.
В форме QBE запрос примет вид показанный на рисунке. В соответствии с требованием запроса из базы нужно выбрать значения указанных атрибутов, для которых вообще не введена оплата, т.е. значение соответствующего атрибута «Сумма оплаты» пусто (Null). В организации связей этого запроса есть одна особенность. Связь 1:М между отношениями «Заказы» и «Оплата» подразумевает выборку только существующих кортежей. Однако, если для какого либо заказа оплата не введена, то не будет кортежа в отношении «Оплата», соответствующего кортежу отношения «Заказы», т.е. условие «Сумма оплаты» = Null не будет работать. Для того, чтобы данное условие заработало нужно модифицировать связь, наложив на нее требование показывать все кортежи отношения «Заказы», а если им не соответствует не одного кортежа в отношении «Оплата», то ставить вместо него кортеж со значениями атрибутов Null. Таким образом условие запроса приобретает смысл.
В форме SQL данный запрос приобретает следующий вид.