Menu
Coddy logo textTech

Операция modulo

Часть раздела Основы путешествия по SQL на Coddy — урок 25 из 72.

Оператор остатка от деления % возвращает остаток, полученный после деления одного числа на другое.

dividend % divisor
  • dividend: Число, которое делят.
  • divisor: Число, на которое делится делимое.

Например

10 % 3

Здесь 10 делится на 3. 3 входит в 10 три раза с остатком 1. Таким образом, result будет равен 1.

Обычно оператор остатка от деления (modulo) используется для проверки того, является ли число четным или нечетным:

  • Если число четное, деление его на 2 даст остаток 0.
  • Если число нечетное, деление его на 2 даст остаток 1.

Например, поиск строк с четными номерами:

SELECT * FROM table WHERE id % 2 = 0;

Или для циклического перебора значений:

  • number % 12 (возвращает 0-11)
  • number % 8 (возвращает 0-7)

Например, группировка элементов в наборы по 5:

SELECT item_number % 5 as group_number FROM inventory;
challenge icon

Задание

Легко

Доступные таблицы и столбцы:

  • <strong>products</strong>: <strong>id</strong>, <strong>price</strong>, quantity

Создайте запрос, который:

  1. Показывает ID продукта
  2. Назначает каждый продукт в одну из трех групп контроля качества (0, 1 или 2) на основе ID продукта, используя оператор остатка от деления (modulo), назовите этот столбец quality_control
  3. Включает только те продукты, у которых столбец quantity содержит нечетное число (например, 1, 3, 5, 7...)

Шпаргалка

Оператор остатка от деления % возвращает остаток после деления:

dividend % divisor

Распространенные варианты использования:

  • Проверка на четность/нечетность: number % 2 = 0 (четное) или number % 2 = 1 (нечетное)
  • Циклический перебор значений: number % 12 возвращает 0-11
  • Группировка элементов: item_number % 5 создает группы 0-4

Примеры:

-- Поиск строк с четными номерами
SELECT * FROM table WHERE id % 2 = 0;

-- Группировка элементов в наборы по 5
SELECT item_number % 5 as group_number FROM inventory;

Попробуйте сами

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы