На Горох
Информатика, 9 класс

§ 33. Запросы

"Информатика", Поляков К.Ю., Еремин Е.А.

Объяснение темы В оглавлении: § 33. Запросы

Кратко о теме

Запрос — способ обратиться к базе данных, чтобы получить нужные записи или изменить данные. Он помогает не просматривать таблицу целиком, а выбрать только подходящие сведения, например книги, изданные после заданного года. В запросе указывают таблицу-источник, поля для результата, условие отбора и, если нужно, порядок сортировки. Для реляционных баз данных запросы часто записывают на языке SQL.

Объяснение темы

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

Определения и обозначения

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

Язык SQL — язык для создания запросов к реляционным базам данных, в которых данные организованы в таблицы. В запросах на выборку применяются команды SELECT, FROM, WHERE и ORDER BY. SQL помогает точно указать, какие данные нужны и как их обработать.

Условие отбора — выражение, по которому запрос решает, подходит ли запись для результата. В нём сравнивают значения полей с числами или текстом, а также объединяют несколько проверок логическими словами AND и OR. Условие позволяет сузить выборку до записей, отвечающих задаче.

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

Как это устроено

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

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

Условие отбора проверяется для каждой записи отдельно: если выражение истинно, запись включается в результат, а если ложно — не включается. Для чисел подходят сравнения вроде Год > 2020, а текстовое значение сравнивают с указанным словом. Несколько требований можно соединить AND, когда должны выполняться все условия, или OR, когда достаточно одного. Правильное условие важно составить по смыслу задачи и с учётом типа поля.

Команды запроса задают порядок работы с данными: сначала указывают таблицу-источник, затем выбирают подходящие записи и поля, а при необходимости упорядочивают результат. В SQL части запроса записывают в установленной последовательности: SELECT, FROM, WHERE, ORDER BY. Перечень полей в SELECT определяет состав результата, а условие WHERE — какие записи в него попадут. Поэтому запрос сначала нужно мысленно разложить на вопросы: что показать, откуда взять и что отобрать.

Сортировка меняет порядок показа записей, но не сами значения и не их хранение в исходной таблице. По возрастанию числа располагаются от меньшего к большему, а текст — в алфавитном порядке; по убыванию порядок обратный. Если указано несколько полей, сначала сравнивают значения первого, а следующие поля используют для записей с одинаковым значением предыдущего. Поэтому порядок полей в ORDER BY влияет на итоговую последовательность.

Основные части запроса на выборку

Часть запросаНазначениеЧто указывается
SELECTОпределяет поля результатаИмена полей или *
FROMЗадаёт источник данныхИмя таблицы
WHEREОтбирает записи по условиюЛогическое выражение
ORDER BYУпорядочивает результатПоле и направление сортировки

Пользуйся таблицей как планом составления запроса: сначала реши, какие поля нужны, затем назови таблицу и сформулируй условие отбора. ORDER BY добавляй, если важен порядок результата; для убывания после поля указывают DESC. Если условие отбора не требуется, часть WHERE можно опустить.

Разбор задач

Задача 1. В таблице «Ученики» выбрать фамилии и классы всех записей. Нужно вывести два поля и не ограничивать результат условием, потому что требуются все записи. Таблица «Ученики» будет источником данных.

  1. Определи поля результата: это Фамилия и Класс, поэтому их перечисляем после SELECT.

  2. Укажи таблицу-источник после FROM. Условие WHERE не добавляй, так как отбирать отдельные записи не требуется.

  3. Собери команды в запрос: SELECT Фамилия, Класс FROM Ученики. Результат будет содержать фамилии и классы всех учеников.

Ответ: SELECT Фамилия, Класс FROM Ученики.

Задача 2. Из таблицы «Книги» выбрать названия книг, изданных после 2020 года. Требуется вывести только поле Название, но включить в результат лишь записи, где год издания больше 2020. Год — числовое значение, поэтому его можно сравнить со значением 2020.

  1. После SELECT укажи поле, которое нужно видеть: Название. Другие поля не попадут в результат.

  2. После FROM назови источник — таблицу Книги. Так запрос будет знать, где искать названия и годы издания.

  3. Добавь WHERE Год > 2020: знак > означает «больше». В итоге запрос выглядит так: SELECT Название FROM Книги WHERE Год > 2020.

Ответ: запрос выведет названия книг, год издания которых больше 2020.

Задача 3. Из таблицы «Товары» вывести названия и цены товаров дороже 500 рублей, расположив результат от большей цены к меньшей. Здесь одновременно нужно отобрать записи по цене и упорядочить отобранные товары. Поле Цена участвует и в условии, и в сортировке, но в результат включается вместе с названием.

  1. После SELECT перечисли поля Название и Цена, а после FROM укажи источник Товары. Эти части определяют столбцы результата и таблицу, из которой берутся сведения.

  2. Условие WHERE Цена > 500 оставит товары, цена которых превышает 500 рублей. Равная 500 цена не подойдёт, потому что используется строгое сравнение >.

  3. После условия добавь ORDER BY Цена DESC. DESC задаёт убывание, поэтому более дорогие товары окажутся раньше дешёвых.

Ответ: SELECT Название, Цена FROM Товары WHERE Цена > 500 ORDER BY Цена DESC.

Типичные ошибки

Путают поля и записи. Поле описывает свойство объекта, например Класс, а запись содержит значения всех свойств одного ученика. Путаница возникает потому, что и поля, и записи видны в одной таблице. Проверь себя: поле — заголовок столбца, запись — строка с данными об одном объекте.

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

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

Считают, что сортировка меняет исходную таблицу. Команда ORDER BY упорядочивает только показанный результат, поэтому можно ошибочно принять новый порядок за изменение хранения записей. Проверь себя: сортировка не меняет значения полей и не удаляет записи, а лишь задаёт порядок отображения результата.

Связь с другими темами

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

Что запомнить

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

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

  • В FROM указывают таблицу-источник.

  • В WHERE задают условие отбора записей.

  • В ORDER BY задают порядок сортировки результата.

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

Частые вопросы по теме

Чем запрос отличается от таблицы?

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

Можно ли получить все поля таблицы одним запросом?

Да. После команды SELECT можно поставить знак *, который означает все поля источника. Например, SELECT * FROM Ученики выбирает все поля таблицы «Ученики».

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

Условия соединяют логическими операциями AND и OR. AND оставляет записи, подходящие сразу под оба условия, а OR — подходящие хотя бы под одно. Например, WHERE Год >= 2020 AND Жанр = 'Фантастика'.

Как задать сортировку по убыванию?

После ORDER BY указывают поле, по которому нужно упорядочить результат, а затем DESC. Например, ORDER BY Цена DESC расположит товары от самой высокой цены к самой низкой.

Изменяет ли запрос на выборку данные в таблице?

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

Спросить по теме параграфа

§ 33. Запросы

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
9 класс
Учебник
"Информатика", Поляков К.Ю., Еремин Е.А.