Создание запросов средствами ms access 2000

Создание запросов в Microsoft Access 2003 — база MDB

Для начала открываем базу, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».

Примечание! Имеется в виду, что база у Вас уже есть.

И перед Вами откроется новое окно выбора типа запроса

Давайте рассмотрим каждый из этих типов запросов подробней.

Типы запросов в Access 2003 — база MDB

Конструктор – это создание запроса на основе конструктора, так сказать в графическом редакторе, но в нем можно перейти в режим sql и написать текст запроса как обычно. Сразу же после запуска у Вас откроется окно выбора нужных таблиц или уже существующих запросов, так как существующие запросы можно также использовать для выборки необходимых данных, это как будто «представление».

Далее Вы просто выбираете нужные поля, ставите условия, сортировку и так далее.

Если не нравится это делать в графическом редакторе, то можете переключиться в режим SQL, для этого нажмите пункт меню «Вид», затем «Режим SQL».

Простой запрос – это, можно сказать, такой же конструктор, только немного другого вида и поменьше возможностей.

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

Повторяющееся записи – это как видно из названия поиск повторяющихся записей.

Записи без подчиненных – это поиск тех записей, которые отсутствуют в той или иной таблице.

С базами mdb достаточно, так как их редко используют на предприятиях, обычно используют следующую схему – пишут отдельный клиент, а все данные хранят на сервере с помощью СУБД в нашем случае — это MS SQL Server, а клиент Access (.adp).

Групповые операции (перекрёстные запросы в access)

Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе? И научиться этому можно после изучения 40 специальных видеоуроков, в которых описана самая суть без воды.

При помощи перекрёстного запроса вычисляются итоговые значения (суммы, количество значений, минимальные и максимальные значения и т. д.) данных и группируются по заголовкам столбцов и по заголовкам строк. Анализ информации значительно упрощается.

В перекрёстном запросе обычно три поля: поле заголовка столбцов, поле заголовка строк и поле итогового содержимого ячеек.

По умолчанию строка «Групповая операция» в режиме конструктора скрыта.

Группировка

Инструкция «Группировка» разбивает результаты запроса по каждому уникальному значению поля (полей). Например, если в поле Страна встречается 20 раз Литва, 30 раз Польша, 50 раз Чехия, то при группировке по этому полю будет всего три записи – по одной на каждую страну. Если будем добавлять группировку в другие поля, то количество выбранных записей возрастёт, так как программа будет искать уникальное значение не одного, а нескольких полей (например, зададим группировку по странам и по поставщикам. В Литве пять поставщиков, а, следовательно, уникальных записей для Литвы уже будет пять, а не одна).

Инструкция Группировка автоматически задаёт сортировку в алфавитном порядке. Для изменения порядка сортировки надо явно указать программе параметры в строке «Сортировка».

Планирование запроса

При планировании запроса, который использует более одной таблицы, выполните следующие четыре действия:

Точно укажите то, что вы хотите знать

Если бы вы могли спросить свою базу данных о каком-либо вопросе, что бы это было? Построение запроса сложнее, чем просто задание вопроса, но точно знать, какой вопрос вы хотите ответить, имеет важное значение для создания полезного запроса. Определите каждый тип информации, которую вы хотите включить в результаты вашего запроса

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

Сначала этот процесс может показаться абстрактным, но когда мы рассмотрим процесс планирования нашего собственного запроса с несколькими таблицами, вы должны начать понимать, как планирование ваших запросов может сделать их намного проще.

Как сделать условия отбора в access?

Возможности и виды запроса

Одним из основных инструментов выборки и обработки данных в СУБД Microsoft Access являются запросы.

С помощью запроса можно выполнить следующие виды обработки данных:

• Выбрать записи, удовлетворяющие условиям отбора.

• В каждой из полученных записей производить вычисления.

Сгруппировать записи, которые имеют одинаковые значения в одном или нескольких полях, в одну запись с одновременным выполнением групповых операций над другими полями.

• Произвести обновление полей в выбранном подмножестве записей.

• Создать новую таблицу БД, используя данные из существующих таблиц.

• Удалить выбранное подмножество записей из таблицы БД.

• Добавить выбранное подмножество записей в другую таблицу.

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

Последовательное выполнение ряда запросов позволяет решать сложные задачи, не прибегая к программированию.

В Microsoft Access 2003 может быть создано несколько видов запроса:

2) запрос на создание таблицы;

3) запрос на обновление;

4) запрос на добавление;

5) запрос на удаление.

Создание запроса на выборку

Запрос на выборку выбирает данные из взаимосвязанных таблиц и других запросов. Результатом его является таблица, которая существует до закрытия запроса. Через эту таблицу запроса можно корректировать данные в исходных таблицах. На основе этого вида запроса строятся запросы другого вида. Запрос чем-то напоминает сочетание сортировки и фильтрации (с этими понятиями Вы уже ознакомились при выполнении соответствующей лабораторной работы по Microsoft Excel ). Простейшие запросы затрагивают только одну таблицу. Для создания простого запроса к таблице внутри конкретной БД необходимо:

1. Открыв БД, в разделе Объекты выбрать кнопку Запросы.

2. Использовать кнопку С оздать.

3. В окне диалога Новый запрос (см. рис. слева) выбрать режим Простой запрос. Использовать кнопку ОК.

4. В окне Добавление таблицы (см. рис. справа) выделить таблицы, участвующие в запросе. Использовать кнопку Д обавить. Закрыть окно диалога.

5. Составить запрос. Для этого в появившемся диалоговом окне (рисунок этого окна здесь не приведен) нужно вы полнить следующие действия:

1) С помощью кнопки «>» выбрать имена нужных полей, используемых в запросе .

2) Убедиться, что в строке Имя таблицы отображено имя нужной таблицы.

3) Нажав кнопку «Далее», в новом диалоговом окне задать имя запроса и установить флажок в позицию » изменить макет запроса «.

4) В новом диалоговом окне (см. следующий рис.) выбрать поле (или поля), по которому (по которым) будет производиться выборка (в нашем случае выбрано, например, поле «Дата Рождения», если мы хотим делать выборку только по дате рождения; но если нужна выборка по нескольким признакам, то правее этого поля можно в соседних ячейках выбрать имена других полей), а также убедиться в том, что выбрана нужная таблица.

5) В строке Сортировка (если требуется сортировка) можно выбрать порядок сортировки записей в табли це запроса.

6) В строке Вывод на экран отметить активным флажком поля, которые долж ны быть включены в результирующую таблицу.

7) В строке Условие отбора можно записать выражение, которое состоит из операндов и операторов (см. далее таблицу), позволяющих выбирать не обходимую информацию по заданному критерию отбора.

8) В строке или задать альтернативные условия отбора записей.

Иллюстрированный самоучитель по Microsoft Access 2003

Добавление второй таблицы

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

В окне Растения: база данных щелкните на ссылке Запросы.
Щелкните на кнопке Создать на панели инструментов.
В диалоговом окне Новый запрос выберите опцию Конструктор и щелкните на кнопке ОК.
В диалоговом окне Добавление таблицы выберите таблицу Каталоги и щелкните на кнопке Добавить.
В этом же диалоговом окне выберите таблицу Растения и щелкните на кнопке Добавить.
Щелкните на кнопке Закрыть.
Расположите окна Растения: база данных и Запрос: запрос на выборку так, чтобы они не накладывались друг на друга.
Выберите ссылку Таблицы в окне Растения: база данных.
Перетащите таблицу Типы из окна Растения: база данных в верхнюю панель окна запроса в режиме конструктора. Теперь к запросу будет добавлена таблица Типы, как показано на рис. 7.16

Обратите внимание, что Access автоматически отображает связи, существующие между таблицами.

Ключевое поле

Ключевое поле

Это та запись, которая определяет запись в таблице.

Нажимаем в колонке слева на названии таблицы Читатель. Справа появилась таблица. Правой кнопкой нажимаем на названии – конструктор – в пустом поле пишем код читателя.

Сделаем это поле ключевым (на панели задач – ключевое поле) и закроем таблицу.

Это первичный ключ. Для ключевых полей используют тип – счетчик или числовой.

Определим ключевое поле для каждой таблицы аналогично предыдущей.

Книги – код книги.

Издательство – код издательства (тип данных –мастер подстановок – Издательство- выберите поле код и наименование).

Выдача – код выдачи (код читателя – таблица Читатель /код читателя и фамилия/ и код книги – таблица Книги/ код книги и название).

Любое поле можно перетащить мышкой в начало таблицы или в другое нужное место. Ключевые поля обычно ставят на первое месте

Связывание таблиц

Переходим на вкладку – Работа с базами данных – схема данных – появилось окно.

Поочередно нажимаем на название каждой таблицы и закрываем окно.

Появилась схема данных. Определим как будем связывать таблицы.

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

Возвращаемся в схему данных и перетаскиваем Код издательства из одной таблицы в Код издательства другой. Появляется окно. Ставим Обеспечение целостности данных и в двух других пунктах ниже. Далее нажимаем создать. Появляется связь – один ко многим, т.е. одно издательство выпускает много книг.

Аналогично свяжем две другие таблицы.

Откроем таблицу Выдача через конструктор. Добавляем поле Код читателя.

Сохраняем, закрываем.

Теперь Код читателя таблицы Читатель переносим на Код читателя таблицы Выдача.

Ставим везде галочки — создать. Появилась связь (читатель берет много книг).

Теперь свяжем таблица Книги и Выдача. Для этого в таблицу Выдача добавим Код книги. И проделаем те же манипуляции.

Заполнение таблиц

Берем таблицу Читатель. Код читателя ставим на первое место. Нумерация будет автоматическая в этом поле. Вводим остальные данные (не менее 10) и сохраняем правой кнопкой.

Заполняем остальные таблицы по аналогии.

Условия отбора записей

Литералы — конкретные значения, воспринимаемые Access так, как они записаны. В качестве литералов могут быть использованы числа, текстовые строки, даты. Текстовые строки заключаются в двойные кавычки, даты — в знаки (#). Например, 567, «Информатика», #1-Января-99#.

Константы — не изменяющиеся значения, которые определены в Access, например, True, False, Да, Нет, Null.

Идентификатор — ссылка на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей таблиц, форм, отчетов и т. д., которые должны заключаться в квадратные скобки. Как правило, Access производит автоматическую подстановку скобок.

Во многих случаях ссылка на конкретное значение должна указывать точное его местоположение в иерархии объектов базы данных, начиная с объекта верхнего уровня. Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, формы, отчета, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например, ссылка на поле в таблице примет вид: ! , а ссылка на свойство DefaultValue элемента управления Дата рождения в форме СТУДЕНТ: Forms! ! .DefaultValue

Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора, являются:

Эти операторы определяют операцию над одним или несколькими операндами.

Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =.

Текстовые значения, если они содержат пробелы или знаки препинания, вводятся в двойных кавычках. В противном случае кавычки можно не вводить, они будут добавлены автоматически.

Допускается использование операторов шаблона — звездочка (*) и вопросительный знак (?).

Оператор Between позволяет задать интервал для числового значения и даты. Например:

Between 10 And 100

задает интервал от 10 до 100; можно задать интервал дат:

Between #01.01.1997* And #31.12.1997*

Оператор in позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Например:

In («Математики»;»Информатики»; » Истории»)

Оператор Like позволяет использовать образцы, использующие символы шаблона, при поиске в текстовых полях. Например: Like «Иванов* «

Сформировать условие отбора можно с помощью построителя выражений. Перейти в окно Построитель выражений можно, нажав кнопку Построить на панели инструментов конструктора запросов или выбрав команду Построить в контекстно-зависимом меню. Курсор мыши должен быть установлен предварительно в поле строки ввода условия отбора.

После ввода выражения в бланк и нажатия клавиши Access выполняет синтаксический анализ выражения и отображает его в соответствии с результатами этого анализа.

Перекрестный запрос

Этот тип выборки более сложный. Чтобы разобраться, как создать перекрестный запрос в Access с помощью «Мастера» в данном режиме, нужно кликнуть по этой функции в первом окне.

На экране появится таблица, в которой можно выбрать до трех столбцов, расположенных в оригинале.

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

На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.

2.4. Microsoft Access 2007

2.4.5. Создание запросов и поиск информации в базе данных

В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.

В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).

Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.

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

На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.

Рис. 1.

Рассмотрим создание запроса на выборку с помощью Конструктора

Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).

Рис. 2.

Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.

Рис. 3.

В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).

Рис. 4.

Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.

Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.

При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке «Вывод на экран» автоматически устанавливается флажок просмотра информации.

Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).

Рис. 5.

Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).

Рис. 6.

Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например . В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.

Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить — Да и ввести имя запроса, например «Параметрический query». Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).

Рис. 7.

Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).

Рис. 8.

В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.

Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007

Скрытие полей в запросах

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

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

Определение критериев, которые должен искать наш запрос

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

Мы не хотим, чтобы клиенты, которые живут в нашем городе, Роли, поэтому нам нужен критерий, который вернет все записи, кроме тех, которые были с Роли в области города. Мы не хотим, чтобы клиенты, которые живут слишком далеко, тоже. Все телефонные номера в области начинаются с кода зоны 919 , поэтому мы также будем включать критерии, которые будут возвращать только записи, чьи записи из поля номера телефона начинаются с 919 . Это должно гарантировать, что мы отправим купоны только тем клиентам, которые живут достаточно близко, чтобы действительно вернуться и использовать их.

Мы не будем устанавливать критерии для поля идентификатора заказа или любых других полей, потому что мы хотим видеть все заказы, сделанные людьми, которые отвечают двум критериям, которые мы только что установили.

Чтобы писать запросы, вам нужно будет установить критерии на языке, который понимает Access . Как вы можете видеть на изображении выше, наши критерии, требующие номеров телефонов, начинаться с 919, должны быть напечатаны следующим образом: Like («919 *») . Чтобы узнать, как писать дополнительные критерии, обратитесь к нашему Краткому справочному руководству по критериям критериев запроса в разделе « Дополнительно » этого руководства. Руководство содержит несколько наиболее часто используемых критериев в запросах Access.

Создание запросов в Microsoft Access 2003 — база MS SQL Server

Давайте рассмотрим создание новых запросов из клиента Access на базе MS SQL Server (подразумевается, что клиент adp и база данных на основе MS SQL Server у Вас уже есть).

Примечание! Данная статья не подразумевает изучение sql, поэтому на момент прочтения этой статьи Вы уже должны понимать основы sql и понятие основных объектов в базе данных таких как: представление, функция, процедура. Если Вы совсем новичок в этом, то сначала, конечно же, рекомендуется освоить SQL, так как многие термины ниже Вам будут не понятны. Рекомендуемые статьи:

Начало все такое же, открывает проект, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».

И теперь подробней.

Типы запросов в Access 2003 — база MS SQL Server

Конструктор встроенной функции – это, можно сказать, обычное представление, только в нее можно передавать параметры, затем выполняются какие-то запросы на сервере, и возвращается таблица. Это своего рода функция, которая возвращает данные в виде таблицы. К ней обращаются следующим образом (если говорить об sql):

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

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

После на панели в свойствах функции

на вкладке «параметры функции» появится те параметры, которые Вы указали, причем передавать их нужно в том порядке, в котором они здесь указанны.

Конструктор представления – это создание обычного представления, в просто народе «Вьюха».

Конструктор сохраненной процедуры – создание процедуры с помощью конструктора, принцип такой же, как и в вышеупомянутых функциях. Напомню процедура — это набор sql операторов, как на выборку, так и на изменение данных.

Ввод сохраненной процедуры – это создание процедуры с помощью текстового редактора, т.е. создание процедуры чисто вручную. В итоге то же самое, что и с помощью конструктора. При создании объектов в текстовом редакторе шаблон создания у Вас уже создается автоматически access-ом.

Ввод скалярной функции – это создание функции, которая возвращает значение. Создается с помощью текстового редактора.

Ввод табличной функции – это создание функции, которая вернет набор записей. Похожа на встроенную функцию.

Для того чтобы в клиенте access их можно было отличать, у них разные иконки, те самые которые Вы видите при создании того или иного объекта.

При создании всех этих объектов они сохраняются на сервере, и Вы их можете использовать не только из своего adp проекта, но и из других клиентов.

Конечно же, все эти объекты Вы можете создать и на сервере с помощью, например, Enterprise Manager (устарел, сейчас SQL Server Management Studio), но мы сегодня рассматриваем возможность создания этих объектов из access клиента.

Заметка! Для профессионального изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL.

Легкий путь для новичков

Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.

В данном режиме можно ознакомиться и разобраться со следующими типами запросов:

  • Простой.
  • Перекрестный.
  • Записи без подчиненных.
  • Повторяющиеся записи.

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

2.6. Критерии выборки в запросе

Вы научились создавать простые запросы, в которых выбираются практически все значения
выбранных полей.

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

·  Критерии запроса записываются в строку «Условия отбора» в той
колонке, имя которой используется при построении критерия.

·  В том случае, если при выполнении отбора вы намерены
в качестве критерия использовать несколько имен полей, соединенных
оператором  «And» («И»),
то выражения, содержащие критерии отбора должны располагаться в строке «Условия отбора».

·  В том случае, если выражения, содержащие критерии
отбора, объединяются оператором «Or»
Или») то они должны быть записаны в строке «Или» соответствующей колонки.

Рассмотрим выше сказанное на примере
предыдущего запроса.

Задание

Для
своей базы данных, подготовленной во время выполнения предыдущих лабораторных
работ, сформулировать и реализовать запросы следующих типов (по одному запросу
на каждый тип):

  1. выборка данных из нескольких
    таблиц
  2. выборка данных  с двумя
    условиями
  3. перекрестный запрос
  4. запрос с параметром
  5. поиск повторяющихся записей
  6. поиск записей без
    подчиненных
  7. запрос на обновление
  8. запрос на добавление
  9. запрос на удаление
  10. запрос с объединением

Подготовить отчет по работе,
который должен содержать:

1. 
титульный лист

2. 
задание

3. 
схему данных

4. 
исходные заполненные таблицы

5. 
для каждого запроса привести его
формулировку, текст на SQL и пример выполнения

Способы создание запросов в MS Access

1) 
с помощью мастера можно
создать простой, перекрестный запрос, запрос на поиск повторяющихся записей на
поиск записей без подчиненных.

2) 
в окне конструктора. Когда
пользователь создает запрос в режиме конструктора запроса, Microsoft Access
автоматически создает эквивалентную инструкцию SQL. Пользователь имеет
возможность просматривать и изменять инструкции SQL в режиме SQL. Изменения,
внесенные в запрос в режиме SQL, приведут к соответствующим изменениям в бланке
запроса в режиме конструктора. В нижней   части окна для каждого выводимого
поля надо указать: имя поля, имя таблицы, название групповой операции (Sum, Avg, Count,
Min, Max, StDev, Var, First, Last, Выражение, Условие, Группировка), способ сортировки
( ­ Ascending по возрастанию, ¯ Descending по убыванию, Notsorted без сортировки), вывод на экран (да или нет), условие
(я) отбора

3)  в окне редактора
SQL.

Окно свойства запроса

Примеры запросов на
выборку
:


Вывести в алфавитном порядке код,
наименование, стоимость товара и название категории;

SELECT Товары.КодТовара,
Товары.Марка, Товары.Цена, Типы.Категория

FROM Типы INNER JOIN Товары
ON Типы.КодТипа = Товары.КодТипа

ORDER BY Товары.Марка;


Вывести список десяти самых
дорогих товаров

SELECT DISTINCTROW TOP 10
Товары.Марка AS СамыеДорогиеТовары, Товары.Цена

FROM Товары

ORDER BY Товары.Цена
DESC;


Определить среднюю, минимальную и
максимальную стоимость товаров и их общее количество (использовать групповые
функции avg, min, max, count);

SELECT Avg(Товары.Цена) AS
, Min(Товары.Цена) AS , Max(Товары.Цена) AS
, Count(Товары.Цена) AS

FROM Товары;

Пример запроса на
обновление
:

             Снизить цены на
товары выбранной категории на 20%;

UPDATE Товары SET Товары.Цена
= *0,8

WHERE (((Товары.КодТипа)=2));

Пример запроса на
добавление
:

В
список поставщиков включить клиентов, которые находятся на территории России.

INSERT INTO Поставщики
(Название, Страна )

SELECT Клиенты.Название,
Клиенты.Страна

FROM Клиенты

WHERE ((( Клиенты.Страна)=»Россия»));

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

Удалить данные о поставщиках
из России

DELETE Поставщики.*,
.

FROM Поставщики

WHERE (((.)=»Бельгия»));

Пример запроса на
объединение
(запрос SQL)

            Вывести список
городов, с которыми есть деловые отношения.

SELECT Город

FROM Клиенты

UNION SELECT Город

FROM Поставщики;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector