- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Microsoft Access 2007 - Александр Днепров
Шрифт:
Интервал:
Закладка:
Листинг 6.10.
Запрос на подсчет количества записей
SELECT Count(Товары. Код) AS [Count-Код]
FROM Товары;
7. Перейдите на вкладку Конструктор и выберите команду Выполнить .
Что же делать, если требуется подсчитать количество товаров с ценой более 1000 руб.? Измените созданный запрос.
1. Щелкните правой кнопкой мыши на заголовке вкладки запроса. Выберите из контекстного меню команду Конструктор .
2. Дважды щелкните кнопкой мыши на названии поля Цена , чтобы добавить его в выборку.
3. В строке Групповая операция для поля Цена выберите из раскрывающегося списка значение Условие .
4. В строке Условие отбора для поля Цена введите условие > 1000.
Результирующий бланк итогового запроса с условием показан на рис. 6.22.
Рис. 6.22. Результирующий бланк итогового запроса с условием
Текст итогового запроса с условием приведен в листинге 6.11.
...Листинг 6.11.
Запрос на подсчет количества записей с условием
SELECT Count(Товары. Код) AS [Count-Код]
FROM Товары
WHERE (((Товары. Цена)>1000));
5. Перейдите на вкладку Конструктор и выберите команду Выполнить . В выборке остались две записи, которые удовлетворяют условию.
Вы можете составить итоговый запрос с подсчетом записей и использованием группировки. Для этого подсчитайте количество клиентов для каждого значения поля Рейтинг . Следуйте нижеприведенным указаниям.
1. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .
2. В окне Добавление таблицы дважды щелкните кнопкой мыши на названии таблицы Клиенты . Нажмите кнопку Закрыть .
3. Дважды щелкните кнопкой мыши на названиях полей Номер и Рейтинг , чтобы добавить поля в выборку.
4. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги . В бланке запроса появится строка Групповая операция .
5. В строке Групповая операция для поля Номер выберите в раскрывающемся списке функцию Count .
6. В строке Групповая операция для поля Рейтинг выберите в списке функцию Группировка .
Результирующий бланк итогового запроса с группировкой показан на рис. 6.23.
Рис. 6.23. Результирующий бланк итогового запроса с группировкой
Текст итогового запроса с группировкой приведен в листинге 6.12.
...Листинг 6.12.
Запрос на подсчет количества записей с группировкой
SELECT Count(Клиенты. [Номер (ID)]) AS [Count-Номер (ID)], Клиенты.
Рейтинг
FROM Клиенты
GROUP BY Клиенты. Рейтинг;
7. Перейдите на вкладку Конструктор и выберите команду Выполнить (рис. 6.24).
Рис. 6.24. Результат выполнения итогового запроса с группировкой
Вы можете видеть, что найдены две записи о клиентах с рейтингом 1000 и одна – с рейтингом 1500 (см. рис. 6.24).
Теперь составьте запрос так, чтобы выбиралась запись о товаре с максимальной ценой. Для этого выполните следующие действия.
1. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .
2. В окне Добавление таблицы дважды щелкните кнопкой мыши на названии таблицы Товары . Нажмите кнопку Закрыть .
3. Дважды щелкните кнопкой мыши на названиях полей Код , Наименование , Описание , Цена , чтобы добавить поля в выборку.
4. В бланке запроса в строке Условие отбора для поля Цена введите условие In (SELECT MAX(Цена) FROM Товары). Такое условие означает, что сначала будет выполнен подзапрос, находящий максимальное значение цены на товар. Запись о товаре будет выведена только в том случае, если значение поля Цена совпадает с найденной максимальной ценой.
Результирующий бланк итогового запроса показан на рис. 6.25.
Рис. 6.25. Результирующий бланк итогового запросаТекст итогового запроса приведен в листинге 6.13.
...Листинг 6.13.
Запрос на выборку записи с максимальным значением поля
SELECT Товары. Код, Товары. Наименование, Товары. Описание, Товары. Цена
FROM Товары
WHERE (((Товары. Цена) In (SELECT MAX(Цена) FROM Товары)));
5. Перейдите на вкладку Конструктор и выберите команду Выполнить . Результат запроса показан на рис. 6.26.
Рис. 6.26. Результат выполнения итогового запроса на поиск записи с максимальным значением поля
Вы видите, что выборка содержит одну запись о товаре, цена на который в таблице Товары является максимальной. Аналогично можно найти товар с минимальной ценой, используя функцию MIN .
Часто для анализа данных требуется выборка из нескольких таблиц. В каче стве примера выведите список клиентов с подсчетом общей суммы их заказов.
1. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .
2. В окне Добавление таблицы дважды щелкните кнопкой мыши на названиях таблиц Клиенты и Заказы . Нажмите кнопку Закрыть .
3. Дважды щелкните кнопкой мыши на названиях полей Номер , Имя , Телефон , Адрес , Рейтинг таблицы Клиенты и поля Цена таблицы Заказы , чтобы добавить поля в выборку.
4. Теперь дважды щелкните кнопкой мыши на связи между таблицами. Откроется окно Параметры объединения (рис. 6.27).
Рис. 6.27. Окно Параметры объединения5. Установите переключатель в положение Объединение ВСЕХ записей из “Клиенты” и только тех записей из “Заказы”, в которых связанные поля совпадают и нажмите кнопку ОК .
6. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги . В бланке запроса появится строка Групповая операция .
7. В бланке запроса в строке Групповая операция для поля Сумма выберите из раскрывающегося списка функцию Sum . Для всех остальных полей должно быть выбрано значение Группировка .
Результирующий бланк итогового запроса с объединением показан на рис. 6.28.
Рис. 6.28. Результирующий бланк итогового запроса с объединениемТекст итогового запроса с объединением приведен в листинге 6.14.
...Листинг 6.14.
Итоговый запрос с объединением таблиц
SELECT Клиенты. [Номер (ID)], Клиенты. Имя, Клиенты. Телефон, Клиенты.
Адрес, Клиенты. Рейтинг, Sum(Заказы. Сумма) AS [Sum-Сумма]
FROM Клиенты LEFT JOIN Заказы ON Клиенты. [Номер (ID)] = Заказы. Клиент
GROUP BY Клиенты. [Номер (ID)], Клиенты. Имя, Клиенты. Телефон, Клиенты.
Адрес, Клиенты. Рейтинг;
8. Перейдите на вкладку Конструктор и выберите команду Выполнить .
Результат выполнения итогового запроса с объединением таблиц показан на рис. 6.29.
Рис. 6.29. Результат выполнения итогового запроса с объединением таблиц
Удаление повторяющихся записей с помощью запросов
Существует еще одна полезная область применения запросов – удаление полностью или частично одинаковых записей. Если взять в качестве примера учебную базу Отдел продаж , то очевидно, что при корректной работе с таблицей Заказы в ней не должно быть записей с одинаковыми значениями полей Товар , Клиент и Дата , так как такие записи должны объединяться в одну с изменением значения поля Количество .
Сначала внесите такие ошибки в таблицу Заказы , просто создав дубликаты существующих записей.
1. Откройте базу данных Отдел продаж .
2. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .
3. В окне Добавление таблицы дважды щелкните кнопкой мыши на названии таблицы Заказы . Нажмите кнопку Закрыть .
4. На вкладке Конструктор в группе Тип запроса выберите команду Добавление . Откроется окно Добавление .
5. В раскрывающемся списке выберите название результирующей таблицы – Заказы . Установите переключатель в положение В текущей базе данных . Нажмите кнопку ОК .
6. Дважды щелкните кнопкой мыши на названиях полей Дата , Товар , Количество , Сумма , Клиент , чтобы добавить поля в выборку.
7. В бланке запроса в строке Добавление для каждого поля выборки укажите поле назначения, совпадающее с исходным полем, выбирая названия полей из раскрывающегося списка.

