Как в таблице найти пропущенные строки - MySQL

Узнай цену своей работы

Формулировка задачи:

Можете кто-нибудь помочь написать запрос. Таблицы скачать можно тут. Нужно в таблице t1 в столбце ID_moi найти пропущенные значения. Для этого создал таблицу t1_copy в которой есть столбец ID_moi со всеми значениями по порядку. В таблице 1.5 мл строк и в будущем будет еще больше. Можно ли написать запрос так чтобы выполнялся не больше 1-2 часов? Пробовал через такой запрос:
SELECT t1_copy.ID_moi, t1.ID_moi
FROM t1_copy
LEFT JOIN t1
ON t1_copy.ID_moi = t1.ID_moi
Запрос почему-то выводит все совпадающие значения. Т.е должно по идее так: 6040 6040 6041 NULL 6042 6042 6044 NULL 6044 NULL 6045 6045 А получается что он строки где должно быть NULL просто пропускает и получается: 6040 6040 6042 6042 6045 6045 Если добавить в запрос какие-то уточнения типа WHERE и т.д., то такой запрос начинает выполняться вообще до бесконечности даже если поставить ограничение LIMIT 0, 5. Вообщем как вывести пропущенные значения так и не понял. Можете кто сможет подсказать? Спасибо.

Решение задачи: «Как в таблице найти пропущенные строки»

textual
Листинг программы
SELECT t1_copy.ID_moi, t1.ID_moi
FROM t1_copy
LEFT OUTER JOIN t1
ON t1_copy.ID_moi = t1.ID_moi

Объяснение кода листинга программы

В представленном коде выполняется операция объединения (JOIN) двух таблиц: t1_copy и t1, с использованием оператора LEFT OUTER JOIN. Результатом запроса будет выборка из двух столбцов: t1_copy.ID_moi и t1.ID_moi. Список действий, которые происходят в этом коде:

  1. Выборка данных из таблицы t1_copy в строке после ключевого слова SELECT.
  2. Объединение (JOIN) таблиц t1_copy и t1 с помощью оператора LEFT OUTER JOIN.
  3. Указание столбцов, которые будут возвращены в результате запроса после ключевого слова ON.
  4. Указание псевдонима (Alias) для таблицы t1 с помощью ключевого слова AS.
  5. Указание названия столбца, который будет возвращен в результате запроса после ключевого слова ON. В результате выполнения этого кода, будут возвращены все строки из таблицы t1_copy, которые имеют соответствующие значения в таблице t1. Если в таблице t1 нет соответствующего значения для определенной строки в таблице t1_copy, то соответствующие поля из таблицы t1 не будут возвращены.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы