"Информатика (в 2-х частях)", Горячев А.В., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Чернышёва Т.Л., Широков Д.В.
Конструктор запросов помогает выбрать нужные поля таблицы, задать условия отбора и получить результат в удобном виде. Критерии определяют, какие записи попадут в ответ, а логические связки И и ИЛИ позволяют составлять условия из нескольких частей. Сортировка упорядочивает найденные записи, но не исключает их. Чтобы запрос работал правильно, учитывай тип данных в поле и проверяй, как соединены условия.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Запрос с условием отбора — запрос, который выводит только записи, удовлетворяющие заданному критерию. Запись — это строка таблицы с данными об одном объекте, например об одной книге или ученике. Такой запрос нужен, когда из всей таблицы требуется получить не всё, а только подходящие сведения.
Критерий отбора — условие, по которому решается, включать ли запись в результат запроса. Например, для поля «Год издания» критерием может быть конкретный год. Критерий помогает выразить задачу на языке базы данных и отсеять строки, которые ей не соответствуют.
Составной критерий — условие отбора, составленное из нескольких простых условий с помощью логических связок. Например, можно проверить одновременно класс ученика и количество набранных баллов. Составные критерии нужны, когда одной проверки недостаточно, чтобы точно найти нужные записи.
Сортировка — упорядочивание записей результата по значениям одного или нескольких полей. Например, список товаров можно расположить от самой низкой цены к самой высокой. Сортировка делает результат удобнее для просмотра, но сама по себе не меняет состав найденных записей.
В конструкторе запроса сначала выбирают таблицу или таблицы, откуда брать данные, а затем — нужные поля. Поля задают, какие сведения будут видны в результате, а критерии определяют, какие записи пройдут проверку. Разделение этих настроек полезно: можно, например, отбирать книги по году, но выводить только название и автора. После запуска запроса база данных проверяет записи и формирует результат по заданным правилам.
Критерий нужно записывать с учётом типа поля, потому что программа по-разному понимает текст, числа и даты. Для числового поля можно указать точное значение или сравнение, например «не менее 50»; для текстового — название категории или города. Для поля с датой важно использовать формат, который распознаёт программа. Если перепутать типы или формат, условие может не сработать или дать не тот результат, который ожидался.
Логические связки позволяют превратить несколько проверок в одно правило отбора. При связке И запись остаётся в результате, только если она удовлетворяет обоим условиям; это сужает поиск. При связке ИЛИ запись подходит, если выполнено хотя бы одно условие, поэтому результат обычно охватывает больше вариантов. Выбор связки зависит от смысла задачи, а не от того, какое условие кажется важнее.
Условия можно задавать для одного поля или для разных полей. Например, для поиска товаров подойдут товары категории «Книги» или «Игры», а для отбора учеников — указанного класса и с нужным количеством баллов. В конструкторе важно расположить критерии так, чтобы программа соединила их именно в задуманные группы. Если рядом стоят альтернативы, а одно из условий должно выполняться обязательно, проверь, не получилось ли вместо этого несколько разных путей попадания в результат.
Сортировку настраивают отдельно от критериев: выбирают поле и направление упорядочивания. По возрастанию числа располагаются от меньшего к большему, а текст обычно — в алфавитном порядке; по убыванию порядок становится обратным. Если сортировка задана по нескольким полям, сначала записи упорядочиваются по главному полю, а при совпадении его значений — по следующему. Это меняет расположение строк, но не делает условие отбора строже или мягче.
| Приём | Как задаётся | Что происходит с результатом |
|---|---|---|
| Отбор по одному условию | Критерий указывают для одного поля. | Остаются записи, подходящие под это условие. |
| Объединение условий логическим И | Условия задают так, чтобы все они выполнялись одновременно. | Остаются записи, удовлетворяющие каждому условию. |
| Объединение условий логическим ИЛИ | Задают альтернативные условия, связанные как варианты. | Остаются записи, подходящие хотя бы под одно условие. |
| Сортировка по возрастанию | Для выбранного поля указывают порядок от меньшего к большему. | Записи располагаются по возрастанию значений поля. |
| Сортировка по убыванию | Для выбранного поля указывают обратный порядок. | Записи располагаются по убыванию значений поля. |
Сначала определи, какие записи должны попасть в результат, и выбери для этого критерии и логические связки. Затем отдельно настрой порядок отображения, если он нужен. Таблица помогает не смешивать отбор, который меняет состав результата, и сортировку, которая меняет только порядок записей.
Условие. В таблице книг нужно вывести записи только об изданиях одного выбранного года, например 2020-го. Здесь важно найти все книги этого года, независимо от их названий и авторов. Поэтому достаточно одного критерия для поля с годом издания.
Ответ. Запрос с одиночным критерием по полю «Год издания» покажет только книги 2020 года. Если нужно выбрать другой год, достаточно заменить значение критерия.
Условие. Нужно вывести учащихся указанного класса, набравших не менее 60 баллов. Это две обязательные проверки: ученик должен быть в нужном классе и одновременно набрать требуемое количество баллов. Значит, условия следует связать логическим И.
Ответ. В результате останутся только учащиеся указанного класса, набравшие не менее 60 баллов, поскольку обе проверки соединены И.
Условие. Нужно вывести товары, которые относятся к одной из двух категорий или стоят меньше 500 рублей, а результат упорядочить по цене. В этой задаче есть альтернативные основания для попадания в результат: товар может подойти по категории или по цене. После отбора нужно настроить сортировку отдельно.
Ответ. Запрос с альтернативными условиями ИЛИ покажет товары подходящих категорий или дешевле 500 рублей, а сортировка по возрастанию расположит результат по цене.
Ошибочно считать И и ИЛИ взаимозаменяемыми. Их часто путают, потому что обе связки объединяют условия, но И требует совпадения по каждому условию, а ИЛИ допускает любое из них. Проверь себя: если запись подходит только по одному критерию, должна ли она попасть в результат? Ответ поможет выбрать связку.
Неправильно размещённые критерии могут связаться не так, как задумано. Это случается, когда ориентируются только на значения условий и не проверяют их группы и строки в конструкторе. Составь словами правило для одной записи и проверь несколько примеров: какие условия она должна выполнить, чтобы пройти отбор.
Критерий без учёта типа поля может не сработать: текст вводят как число или дату указывают в неподходящем формате. Обычно ошибка возникает из-за того, что значение кажется понятным человеку, но программа распознаёт его иначе. Сверь тип поля и формат значения, а после запуска проверь результат на записи с заведомо подходящими данными.
Отбор часто путают с сортировкой, потому что обе настройки влияют на вид результата. Но критерий исключает неподходящие записи, а сортировка только переставляет оставшиеся строки. Чтобы проверить себя, сравни количество записей до и после настройки: сортировка не должна удалять строки.
Для работы с запросами нужно понимать устройство таблицы базы данных: поле содержит один вид сведений, а запись описывает отдельный объект. Также пригодится умение выбирать поля в конструкторе, чтобы указать и условия поиска, и данные для вывода. Без этого легко задать критерий не тому столбцу.
Тема опирается на логические условия И и ИЛИ, которые изучают как правила объединения высказываний. В запросе они помогают точно описать, какие записи подходят задаче. Такие навыки полезны при поиске данных в любых базах, где нужно быстро отобрать нужные сведения.
Настройка запросов становится основой для более сложной работы с базами данных. Позже можно использовать несколько таблиц, вычисляемые поля и анализировать результаты. Умение задавать критерии и проверять их связь помогает строить такие запросы без случайных ошибок.
Чем условие отбора отличается от сортировки?
Условие отбора решает, попадёт ли запись в результат: неподходящие записи исключаются. Сортировка не удаляет записи, а только меняет порядок их отображения.
Когда в запросе нужно использовать И, а когда ИЛИ?
Используй И, если запись должна удовлетворять каждому из условий одновременно. ИЛИ подходит, когда достаточно выполнения хотя бы одного условия.
Как задать критерии сразу для нескольких полей?
Добавь в конструктор нужные поля и укажи критерий для каждого из них. Если обе проверки обязательны, объедини условия логическим И.
Почему для текстового и числового поля критерии задаются по-разному?
Программа учитывает тип данных поля и должна правильно распознать значение критерия. Например, название категории — это текст, а цена — число, поэтому вводить их нужно в соответствующем формате.
Как проверить, что запрос отбирает именно нужные записи?
Сопоставь каждый критерий с условием задачи и проверь, где используются И и ИЛИ. Затем запусти запрос и проверь несколько записей: какие прошли отбор и почему.
§ 10. Конструктор запросов: примеры посложнее