РУҚА
Тапсырмалар № 17, 18, 27 · ЕГЭ

Іздеу в базе данных

Как составлять условия поиска и находить жазбалар, удовлетворяющие запросу
6 мин чтенияҚиындық: Обновлено 29 қыркүйек 2026

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

Что такое поиск в базе данных

База данных обычно представляется таблицей. Строка таблицы — это запись об одном объекте, а столбец — поле, то есть характеристика объекта. Например, в таблице «Ученики» записью может быть строка с данными одного ученика, а полями — «Фамилия», «Класс», «Рост», «Оценка». При поиске база данных не изменяется: из всех записей выбираются только те, которые подходят под запрос.

D
Условие поиска

Условие поиска, или условие отбора, — логическое выражение, принимающее значение «истина» или «ложь» для каждой записи. Запись попадает в результат, если условие для неё истинно.

Условия сравнивают значение поля с числом, текстом или значением другого поля. Основные операции сравнения: \(=\), \(\ne\), \(<\), \(>\), \(\le\), \(\ge\). Например, \(\text{Возраст} \ge 14\) означает «возраст не меньше 14», а \(\text{Город} = \text{"Москва"}\) — «город равен Москве».

\[\text{жазба кіреді в результат} \Longleftrightarrow \text{условие поиска истинно}\]

Как читать условие отбора

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

Запись в запросеСмыслПример подходящего значения
\(A = 10\)A равно 1010
\(A \ne 10\)A не равно 107
\(A > 10\)A больше 1011
\(A \ge 10\)A не меньше 1010, 11
\(A < 10\)A меньше 109
\(A \le 10\)A не больше 1010, 9

Если сказано «от \(a\) до \(b\) включительно», используются оба нестрогих неравенства: \(a \le x \le b\). Если границы не кіреді, записывают \(a < x < b\). Формулировка «не менее» означает \(\ge\), «не более» — \(\le\), «более» — \(>\), «менее» — \(<\).

T
Правило проверки жазбалар

Проверяйте условие отдельно для каждой записи. Если результат проверки — истина, запись включается в ответ; если ложь — не включается. При нескольких условиях сначала определите, как они соединены: логическим И немесе логическим ИЛИ.

Составные условия и границы диапазона

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

\[A \land B = 1 \Longleftrightarrow A=1 \text{ и } B=1\]
\[A \lor B = 1 \Longleftrightarrow A=1 \text{ или } B=1 \text{ (или оба)}\]

Например, условие «балл не меньше 60 и не больше 90» записывается так: \(60 \le \text{Балл} \le 90\). Условие «сынып 8 или сынып 9» записывается как \(\text{Сынып}=8 \lor \text{Сынып}=9\). Не путайте «и» и «или»: диапазон задаётся пересечением ограничений, а перечисление допустимых вариантов — объединением.

Быстрая проверка

Какие значения удовлетворяют условию \(5 \le x < 8\)?

Разобранный пример

Дана таблица результатов соревнования. Требуется определить, сколько записей удовлетворяет запросу: «участники из команды A, набравшие не менее 70 баллов или занявшие место 1».

УчастникКомандаБаллыМесто
ИвановA754
ПетровB901
СидоровA651
ОрловаA703
КимC802
ЛебедевA692
1
Выделяем два условия, соединённые словом «или». Первое условие само составное: команда A и баллы не менее 70.
\(\displaystyle C_1=(\text{Команда}=\text{"A"})\land(\text{Баллы}\ge70)\)
2
Записываем вторую часть запроса.
\(\displaystyle C_2=(\text{Место}=1)\)
3
Объединяем части логическим ИЛИ.
\(\displaystyle C=C_1\lor C_2\)
4
Проверяем Иванова: команда A и 75 не меньше 70, значит первая часть истинна.
\(\displaystyle C_1=1\Rightarrow C=1\)
5
Проверяем Петрова: команда B не подходит первой части, но место 1 выполняет вторую.
\(\displaystyle C_1=0,\ C_2=1\Rightarrow C=1\)
6
Проверяем Сидорова: команда A подходит, но 65 меньше 70; место 1 подходит.
\(\displaystyle C_1=0,\ C_2=1\Rightarrow C=1\)
7
Орлова подходит первой части: команда A и 70 не меньше 70.
\(\displaystyle C_1=1\Rightarrow C=1\)
8
Ким не из команды A и занял второе место.
\(\displaystyle C_1=0,\ C_2=0\Rightarrow C=0\)
9
Лебедев из команды A, но набрал 69, а место равно 2.
\(\displaystyle C_1=0,\ C_2=0\Rightarrow C=0\)
№
Жауап к примеру

Подходят Иванов, Петров, Сидоров и Орлова. Всего 4 жазбалар. Обратите внимание: Сидоров проходит по второй части «место 1», хотя не проходит по условию о команде и баллах.

Іздеу текста, дат и пропусков

Для текстового поля важно точное совпадение: условие «город = Москва» не означает автоматически «Московская область». Если требуется найти слова, содержащие некоторую последовательность символов, применяют подстроку в запросе. Нужно заранее понять, ищется ли совпадение всей строки или только её части.

Даты сравниваются так же, как числа: более поздняя дата больше более ранней. Например, условие «дата после 01.09.2023» записывается как \(\text{Дата}>\text{01.09.2023}\). Если требуется включить указанную дату, используют знак \(\ge\).

Пустое поле нельзя надёжно проверять условием вида \(\text{Поле}=0\): ноль — это число, а пустота означает отсутствие значения. В электронных таблицах и базах данных проверку пустых значений задают специальным условием, если оно предусмотрено формулировкой задания.

Алгоритм шешімдер и проверка результата

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

  1. Перепишите запрос в виде коротких простых условий.
  2. Определите, какие слова соединяют условия: «и», «или», «не».
  3. Поставьте правильные знаки сравнения и отметьте, кіреді ли границы.
  4. Проверяйте жазбалар по строкам, отмечая истину или ложь для каждой части.
  5. Сосчитайте жазбалар, если требуется количество, или выпишите их, если требуется список.
  6. Повторно проверьте жазбалар на границах диапазона и варианты с текстом.
!
Частые ошибки

1. Путать \(>\) и \(\ge\): «не менее 10» включает 10. 2. Читать «или» как «и», из-за чего теряются записи, подходящие по одной части. 3. Проверять только первое условие составного запроса. 4. Считать строки заголовка или пустые строки записями. 5. Сравнивать текст как число или принимать частичное совпадение за точное. 6. Забывать, что при условии \(A\lor B\) жазба проходит, если истинно хотя бы одно из условий.

Приём для сложных запросов

Составьте таблицу с дополнительными столбцами: «первая часть», «вторая часть», «итог». Записывайте 1 для истины и 0 для лжи. Для И итог равен 1 только при двух единицах, для ИЛИ — при наличии хотя бы одной единицы.

Связь с другими операциями базы данных

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

Q
Жылдам тест по теме

Проверь себя

~ 2 мин4 вопроса
Вопрос 1 / 4
Вопрос 1 из 4 · знаки сравнения
Какое условие соответствует словам «температура не выше 25»?
Главное за минуту

Главное

  • Іздеу выбирает жазбалар, для которых условие отбора истинно.
  • Знаки \(\ge\) и \(\le\) включают границу, а \(>\) и \(<\) — не включают.
  • При логическом И истинны должны быть все части; при ИЛИ — хотя бы одна.
  • Надёжный способ шешімдер — разбить запрос на простые условия и проверить жазбалар по строкам.
  • Особенно внимательно проверяйте границы диапазонов, текстовые значения, пустые поля и составные запросы.