русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

FROM Det


Дата добавления: 2015-07-04; просмотров: 620; Нарушение авторских прав


WHERE (((Det.DIM)="гайка"));

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

Рисунок 28 – Однотабличная выборка с параметром

При выполнении запроса с параметром откроется окно для ввода имени детали. Вводимое имя не надо заключать в кавычки (как на рисунке 29):

Рисунок 29 – Ввод значения параметра

 

Запрос 3. Многотабличный булевский запрос на выборку данных. Вывести все сведения о поставщиках, поставляющих детали заданного наименования И проживающих в Москве:

Рисунок 30 – Многотабличный булевский запрос (операция И) с параметром

 

Соответствующий SQL-запрос:

SELECT Post.*, Det.DIM

FROM Post INNER JOIN (Det INNER JOIN PD ON Det.DN = PD.DN) ON Post.PN = PD.PN

WHERE (((Post.GOR)="Москва") AND ((Det.DIM)=[Введите наимнование детали]));

Запрос 4. Многотабличный булевский запрос на выборку данных. Вывести все сведения о поставщиках, поставляющих гайки ИЛИ проживающих в заданном городе.

Рисунок 31 – Многотабличный булевский запрос (операция «ИЛИ») с параметром

Соответствующий SQL-запрос:

 

SELECT Post.*, Det.DIM, PD.KOL

FROM Post INNER JOIN (Det INNER JOIN PD ON Det.DN = PD.DN) ON Post.PN = PD.PN

WHERE (((Post.GOR)=[Введите город])) OR (((Det.DIM)="гайка"));

Следует отметить, что при конструировании многотабличного QBE-запроса обязательно нужно выносить в верхнюю часть бланка связанные таблицы. Если Вы выносите в запрос поля из несвязанных таблиц (как показано на рисунке 32), то нужно обязательно добавить еще хотя бы одну таблицу, чтобы все таблицы оказались связанными (несмотря на то, то поля добавляемой таблицы в запросе могут не использоваться). Если этого не сделать, то в ответе можно получить очень большое количество записей (декартово произведение).



Рисунок 32 – Так делать нельзя

 

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

· сначала создать запрос на выборку данных;

· затем созданный запрос на выборку преобразовать в запрос другого типа.

 

Запрос 5. Запрос на выборку с вычисляемым полем.

Можно запрос на выборку реализовать так, то в ответе появится поле, которого нет в таблице, и значение которого вычисляется на основе данных, содержащихся в таблице. Такое поле называют вычисляемым. В качестве примера рассмотрим запрос на выборку данных из таблицы Det, который выводит информацию о деталях, включая старую цену (поле CENA) и новую цену деталей, увеличенную на 10%. Другими словами, все детали подорожали на 10%. В таблице Det никаких изменений делать не надо.

QBE-запрос в режиме конструктора показан на рисунке 33.

Рисунок 33 – Запрос с вычисляемым полем

В запросе использованы псевдонимы: старая цена и новая цена. Поле с новой ценой – вычисляемое. Для того чтобы новая цена отображалась в денежном формате, нужно выделить поле с новой ценой и открыть из к.з. меню окно свойств, в котором для свойства Формат поля из списка выбрать Денежный.

Соответствующий SQL-запрос:

SELECT Det.DIM, Det.CENA AS [старая цена],

[Det]![CENA]*1.1 AS [новая цена]

FROM Det;

 

Запрос 6. Запрос на выборку с группировкой данных.

Группирование данных позволяет получать статистическую, итоговую и другую информацию по отдельным группам данных. Группировать данные можно по одному или нескольким полям. При этом в одну группу включаются данные с одинаковыми значениями в поле группирования. Например, все записи, сгруппированные по номеру поставщика образуют столько групп, сколько имеется разных значений в поле PN.

При работе с группами данных в бланк запроса нужно добавить строку Групповая операция:

Þ Итоги из к.з. меню, открытого в нижней части бланка запроса или кнопкой Итоги на ленте

Для каждого поля в строке Групповая операция может быть выбрано:

Группировка - означает, что данное поле является полем группирования (устанавливается по умолчанию);

Sum - суммирование всех значений поля по группе данных;

Avg - среднее значение поля по группе;

Min или Max - минимальное или максимальное значение поля в группе;

Count - количество записей, входящих в группу;

StDev -среднеквадратическое отклонение;

Var – дисперсия;

First или Last - первое или последнее значение поля в группе;

Выражение - позволяет ввести выражение вместо имени поля в строке Поле бланка запроса;

Условие - показывает, что это поле используется только для задания условия отбора данных в запросе. Это поле не отображается в динамическом наборе данных.

Если группировка производится по нескольким полям, то слово Группировка должно быть в каждом из них.

На рисунке 34 показан QBE-запрос с группировкой данных по полю PN.Функция Count вычисляет количество записей в каждой группе, а функция Sum - суммарное количество деталей в каждой группе. Псевдонимы: количество записей в группе и суммарное количество добавляются вручную.

Рисунок 34 – Запрос с группировкой данных

 

Соответствующий SQL-запрос:

SELECT PD.PN, Count(PD.PN) AS [крличество записей в группе],

Sum(PD.KOL) AS [суммарное количество]



<== предыдущая лекция | следующая лекция ==>
Запросы на выборку данных | Запросы на создание таблицы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.847 сек.