"Информатика (базовый уровень)", Угринович Н.Д.
Фильтры и запросы помогают быстро находить нужные записи в базе данных. Фильтр временно скрывает строки, не подходящие под условие, а запрос задаёт правила отбора и может быть сохранён для повторного использования. Можно искать записи по одному или нескольким полям, сравнивать значения и объединять критерии с помощью логических операций «И» и «ИЛИ». При этом запрос на выборку не изменяет исходные данные.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Фильтр — средство временно отобрать записи таблицы, соответствующие заданному условию. Он помогает быстро оставить на экране только нужные строки, не создавая новую таблицу. После отмены фильтра остальные записи снова становятся видимыми.
Запрос — сохранённое обращение к базе данных, задающее условия отбора и позволяющее получить нужные записи. В запросе можно указать, какие поля показывать и по каким правилам выбирать строки. Это удобно, если один и тот же поиск понадобится выполнить ещё раз.
Условие отбора — правило, по которому определяется, должна ли запись попасть в результат. Например, можно потребовать, чтобы значение поля «Класс» было равно 11 или чтобы балл был больше 4. Такое условие превращает обычный поиск в точную проверку каждой записи.
Запрос на выборку — запрос, который выводит записи из одной или нескольких таблиц, не изменяя исходные данные. Он формирует представление с найденными строками и выбранными столбцами. Поэтому запрос безопасен для анализа, если требуется только посмотреть или отобрать сведения.
Фильтр сопоставляет значение нужного поля каждой записи с заданным критерием и оставляет на экране только подходящие строки. Это происходит потому, что программа проверяет условие отдельно для каждой записи и скрывает те, для которых проверка дала отрицательный результат. Данные не исчезают: меняется только их отображение.
Критерием может быть конкретное значение поля или сравнение с условием: больше, меньше, равно, не равно. Такой способ нужен потому, что поиск часто зависит не от одного точного слова, а от диапазона или границы, например «балл выше 4». Тип сравнения выбирают с учётом смысла и типа данных поля.
При нескольких условиях результат зависит от логической связки. «И» оставляет запись только тогда, когда выполнены все требования, поэтому результат обычно становится уже. «ИЛИ» достаточно одного выполненного требования, так что в выборку могут попасть записи разных типов.
Запрос задаёт не только критерии отбора, но и состав выводимых полей. После сохранения программа может повторить эти правила уже для обновлённых данных, поэтому результат не является навсегда зафиксированным списком. Если в таблице появились новые подходящие записи, они тоже могут попасть в результат.
Фильтр удобен для быстрого временного просмотра, когда не требуется сохранять настройку. Запрос выбирают, если поиск нужно регулярно повторять, показывать только отдельные поля или объединять сведения из нескольких таблиц. Разделение этих способов экономит время и помогает не выполнять одну и ту же настройку вручную.
| Способ | Как задаётся условие | Что происходит с результатом | Когда удобно использовать |
|---|---|---|---|
| Фильтр по выделенному значению | Выбирается конкретное значение в ячейке поля | Показываются записи с таким же значением | Для быстрого поиска по одному признаку |
| Фильтр по форме | Условия вводятся для одного или нескольких полей | Отображаются записи, соответствующие заданным критериям | Для более точного временного отбора |
| Запрос на выборку | Сохраняются критерии и выбранные поля | Формируется результат отбора без изменения таблиц | Для регулярного поиска и подготовки данных |
| Сочетание условий «И» и «ИЛИ» | Критерии объединяются логическими операциями | Результат зависит от выполнения всех или хотя бы одного условия | Для сложного отбора по нескольким признакам |
Сначала определите, какой признак должен проверяться, затем выберите подходящий способ отбора. Если поиск разовый, достаточно фильтра, а повторяющееся правило лучше оформить запросом. При нескольких критериях отдельно проверьте, нужна ли связка «И» или «ИЛИ».
Столбец «Что происходит с результатом» помогает отличить скрытие строк от изменения данных. В любой строке таблицы можно мысленно проверить условие и понять, почему запись попала или не попала в выборку.
Задача 1. В таблице «Книги» нужно временно показать записи, в которых жанр — «Фантастика». Требуется именно просмотр, а не сохранение отдельного результата. Поэтому достаточно фильтра по значению поля.
Ответ: применён фильтр по полю «Жанр» со значением «Фантастика». Остальные книги временно скрыты, но не удалены. После снятия фильтра они снова появятся.
Задача 2. В таблице «Ученики» нужно отобрать учащихся 11-го класса со средним баллом выше 4. Здесь важны два независимых требования: класс должен быть 11, а балл — больше 4. Значит, их нужно соединить условием «И».
Ответ: результат содержит только записи, удовлетворяющие обоим условиям. Ученик с баллом 4 не подходит, потому что требуется именно значение больше 4. Ученик другого класса также исключается.
Задача 3. Нужно создать сохраняемый запрос, выводящий фамилию и класс учеников, которые живут в заданном районе или имеют средний балл не ниже 4,5. В результате нужны не все поля, а только фамилия и класс. Связка «ИЛИ» выбрана потому, что достаточно одного из двух признаков.
Ответ: сохранённый запрос показывает фамилии и классы всех учеников, подходящих хотя бы по одному критерию. Записи с нужным районом попадут в результат даже при меньшем балле, и наоборот. Исходная таблица при этом не изменяется.
Ошибка — считать, что фильтрация удаляет неподходящие записи. Так думают потому, что после применения фильтра строки исчезают с экрана. Проверьте себя: отмените фильтр и убедитесь, что записи снова отображаются.
Ошибка — путать условия «И» и «ИЛИ». При «И» должны выполняться все критерии, а при «ИЛИ» достаточно одного, поэтому результаты этих операций различаются. Для проверки составьте конкретную запись и спросите, выполнены ли для неё оба условия.
Ошибка — задать критерий не для того поля или использовать несовместимый формат. Например, текст вместо даты программа может не распознать как правильное условие. Перед запуском проверьте название поля, тип данных и вид записи значения.
Ошибка — считать запрос на выборку способом изменения таблицы. Он лишь показывает результат отбора, поэтому исправление значения в исходной записи запрос сам по себе не выполняет. Проверьте тип запроса: для просмотра нужен именно запрос на выборку.
Для работы с фильтрами и запросами нужны знания о реляционной базе данных: таблице, поле, записи и типах данных. Тип поля определяет, как программа сравнивает значения. Поэтому число, текст и дата требуют разных правил ввода.
Тема опирается на сравнение значений и логические операции «И», «ИЛИ», «НЕ». Эти операции позволяют строить простые и сложные условия отбора. Чем точнее сформулировано правило, тем предсказуемее результат.
Отбор записей используется при создании отчётов и форм, а также при работе с большими базами данных. Он помогает вывести только нужные сведения вместо просмотра всей таблицы. Сохранённые запросы особенно полезны для регулярного анализа.
Чем фильтр отличается от запроса?
Фильтр обычно применяют для быстрого временного отбора записей в открытой таблице. Запрос можно сохранить, настроить состав выводимых полей и использовать снова, в том числе для данных из нескольких таблиц.
Удаляются ли записи, которые не прошли фильтр?
Нет, фильтр только временно скрывает неподходящие записи. Их можно снова показать, отменив фильтрацию.
Когда использовать условие «И», а когда «ИЛИ»?
«И» используют, когда запись должна соответствовать всем критериям одновременно. «ИЛИ» подходит, если достаточно выполнения хотя бы одного из условий.
Можно ли сохранить фильтр или запрос для повторного использования?
Настройки фильтра зависят от программы и часто применяются как временный способ отбора. Запрос специально предназначен для сохранения правил и повторного запуска после изменения данных.
Меняет ли запрос на выборку данные в исходной таблице?
Нет, запрос на выборку только отображает результат отбора. Исходные записи и их значения остаются без изменений.
3.2.3. Поиск записей в базе данных с помощью фильтров и запросов