у меня есть две таблицы с разницей около 3000 записейComparion запрос в MySQL не возвращающие правильные результаты
select count(name) from t1
возвращает 1847073
select count(name) from t2
возвращает 1813492
но когда Я пытаюсь получить результаты, которые находятся в одном, которые не находятся в другом, я просто получаю нулевые результаты.
select t1.name from t1 where t1.name not in (select t2.name from t2);
Я также попробовал левое соединение с таблицей с большим количеством записей на левой, и он просто работает навсегда
select t1.name from t1 left join t2 on t1.name = t2.name where t2.name is null
нормально, кажется, Thats на правильном пути, после того, как я добавил, что является недействительным он дал 296 записи, содержащие пустое значение для имени, но есть и другие данные .. Что, по вашему мнению, является вопрос с остальной частью 2000 что-то ? дубликатов этих 296 нулевых записей? –
@EduardoDennis вы правы, это не только значения NULL в t1, но и подзапрос не должен возвращать нулевые значения, см. Мой обновленный ответ – fthiella