Как сделать сложный запрос

Обновлено: 07.07.2024

Освоение приемов работы с Microsoft Access, создание простых и сложных запросов.

Подготовка к работе

Изучить литературу о СУБД Microsoft Access, приемах работы и создание простых и сложных запросов.

Контрольные вопросы

  1. Создание запросов.
  2. Простые запросы.
  3. Сложные запросы.
  4. Применение операторов "or", "and", between".
  5. Запрос на удаление.
  6. Использование групповых операций.
  7. Использование вычисляемых полей.

I Реализация простых и сложных запросов к базе данных "Приемная комиссия"

  1. Построить и выполнить запрос к базе данных "Приемная комиссия": получить список всех экзаменов на всех факультетах. Список отсортировать в алфавитном порядке названий факультетов. Для выполнения достаточно одной таблицы ФАКУЛЬТЕТЫ.
    • открыть вкладку Создание, в открывшемся панели выбрать Конструктор запросов;
    • в поле схемы запроса поместить таблицу ФАКУЛЬТЕТЫ. Для этого в окне Добавление таблицы, вкладке Таблицы выбрать название таблицы ФАКУЛЬТЕТЫ, щелкнуть на кнопках Добавить и Закрыть. Запрос сохранить под именем "Список экзаменов";
    • заполнить бланк запроса с помощью контекстного меню в верхней половине бланка открываются те таблицы, к которым обращён запрос. В этих таблицах дважды щёлкают на названиях тех полей, которые должны войти в результирующую таблицу. При этом автоматически заполняются столбцы в нижней части бланка. Сформировав структуру запроса, его закрывают;
    • для сортировки данных в запросе следует щелкнуть на строке Сортировка. Появляется кнопка раскрывающегося списка, в котором можно выбрать метод сортировки по возрастанию или по убыванию;
    • возможна многоуровневая сортировка (сразу по нескольким полям), но в строгой очерёдности слева на право. Поля надо располагать с учётом будущей сортировки, при необходимости перетаскивая их мышью на соответствующие места;
    • управление отображением данных осуществляется установкой (или сбросом) флажка Вывод на экран ( рис. 11.1).



Доброго времени суток всем поклонникам Zend Framework. Думаю, что многие из вас знают, любят и используют класс Zend_Db_Select для построения sql запросов. Несомненно, у такого подхода есть масса плюсов. Достаточно изучить документацию, чтобы с легкостью писать простейшие запросы в БД. Но что, если требуемые запросы не совсем просты?

На Хабре уже были посты по решению подобного рода проблем. Но недавно передо мной встала задача написания следующего запроса:

Но это сгенерирует нам следующий SQL-код:

Что является не тем запросом, который мы ожидаем послать к базе. Как же быть? Я предлагаю такое решение:

В первую таблицу добавляю города, вторая содержит все направления с километражем.
Если в первой таблице 10 городов, то во второй таблице должно быть 9 записей по одному городу. От одного и того же города, 9 направлений к оставшимся из первой таблицы.


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

Сложный запрос
Здравствуйте! Есть таблица с полями Мне нужно вывести все строки с таблицы, но если есть строки.

Сложный запрос
Помогите прочитать код , совсем не могу понять как проходит проверка ответа. quest.php <? .

Сложный запрос к БД
Всем привет. Подскажите пожалуйста как составить запрос к БД вот такого вида: чтобы в ответ.


Сложный запрос
Делаю поиск по тегам в iamgeboard'е. Есть 3 типа тегов (опционально, т.е. каждый тип может быть.


Сложный запрос
Доброго дня. Не знаю как сделать сложный запрос (Суть его такова, машина берется в аренду на.



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

Запрос — объект БД, который используется для реализации эффективного поиска и обработки данных.

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

Самый распространенный вид запросов — запрос на выборку. Он предназначен для отбора данных из источника в соответствии с некоторым условием. Условие запроса — это выражение, которое СУБД сравнивает со значениями в полях запроса, чтобы определить, следует ли включать в результат записи, содержащие то или иное значение.

Запрос на выборку позволяет:

1. Просматривать значения только из полей, которые вас интересуют.
2. Просматривать записи, которые отвечают указанным вами условиям.
3. Использовать выражения в качестве полей.

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

Основные режимы работы с запросами в Access:

1. Режим таблицы. Отображает информацию запроса на выборку в режиме таблицы.

2. Конструктор. В этом режиме определяется структура запроса и условия выбора данных (см. Приложение к главе 1).

Создать запрос можно с помощью Мастера запросов либо в Конструкторе (пример 5.2).

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

Основные этапы создания запроса на выборку:

1. Выбор инструмента создания запроса.
2. Определение вида запроса.
3. Выбор источника(ов) данных.
4. Добавление из источника(ов) данных полей, которые должен содержать запрос.
5. Определение условий, которые формируют набор записей в запросе.
6. Добавление группировки, сортировки и вычислений (может отсутствовать).

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

Примеры записи условий в запросах:

Действие в запросе

Поля с числовым типом данных

Выбираются записи, у которых значение в этом поле больше 0 и меньше 8.

Выбираются записи, у которых значение в этом поле не равно 0.

Поля с текстовым типом данных

Если значение в поле записи равно Орша, то запись включается в результат запроса.

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

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

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

В режиме конструктора процесс создания запроса находится под вашим контролем, однако здесь есть вероятность допустить ошибку и необходимо больше времени, чем в мастере (пример 5.4).

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

Все запросы, которые рассмотрены в примерах 5.3 и 5.4 , содержат конкретные значения названий, имен, времени и т. д. Если требуется повторить такой запрос с другими значениями в условиях отбора, его нужно будет открыть в конструкторе, изменить условие и выполнить. Чтобы не делать многократно этих операций, можно создать запрос с параметрами. При выполнении такого запроса выдается диалоговое окно Введите значение параметра, в котором пользователь может ввести конкретное значение, а затем получить нужный результат. Параметр запроса определяется в строке Условие отбора конструктора для столбца, содержащего запрашиваемые значения. Параметром является слово или фраза, заключенные в квадратные скобки. Параметр будет выдаваться в виде приглашения в диалоговом окне при выполнении запроса (пример 5.5).

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

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

Наряду с запросами на выборку часто применяются запросы на действие. С помощью таких запросов можно обновлять значения полей записей, добавлять новые или удалять уже существующие записи. В СУБД Access такие запросы можно создать в режиме конструктора, воспользовавшись инструментами группы Тип запроса:


Пример 5.1. Режимы работы с запросами.


Режим SQL позволяет создавать и просматривать запросы с помощью инструкций языка SQL.

SQL (англ. structured query language — язык структурированных запросов). Применяется для создания, редактирования и управления данными в реляционной базе данных.

Пример 5.2. Группа инструментов Запросы вкладки Создание.


Пример 5.3. Создание запроса на выборку с помощью Мастера запросов.


1. Выбрать инструмент .

2. Выбрать вид запроса.


3. Выбрать источник данных.


4. Задать поле, содержащее повторяющееся значение.


5. Выбрать поля для отображения вместе с повторяющимися значениями.


6. Просмотреть и/или сохранить запрос.


Пример 5.4. Создание простых запросов на выборку с помощью Конструктора запросов.

1. Выбрать инструмент


2. Выбрать источник данных.


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


4. Записать условие формирования набора записей в запросе.

4.1. Выбор по полю с текстовым типом данных.





4.2. Выбор по полю с числовым типом данных.



4.3. Использование составного условия.





5. Сохранить запросы.

Пример 5.5. Создание запроса с параметрами.

1. Открыть один из запросов, созданных в примере 5.4 в конструкторе.

2. Изменить условия отбора на:


3. Сохранить с новым именем и открыть в режиме таблицы.

4. В диалоговом окне набрать одно из названий кинотеатра.


5. Просмотреть запрос.


Пример 5.6. Создание итогового запроса.

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




4. Добавить вычисляемое поле (в строке нового поля Групповая операция в списке выбрать функцию Count).

Читайте также: