Я думал, что эти два запроса были одинаковыми.Но результаты показали, что ограничения первого запроса начинаются с четырех отработанных AND, возвращается много неправильных строк с левым соединением.Результаты второго запроса выглядят как правильные.Кто-нибудь может объяснить, в чем разница между этими двумя запросами?этот вопрос похож на на этот , но я на 100% уверен, что результаты будут другими.*
SELECT uinfo.serial_number, uinfo.firmware, upd.objtype, upd.category
FROM UnitInfo uinfo
INNER JOIN
UnitUpdateInfo upd
ON uinfo.serial_number = upd.serial_number
WHERE substring(uinfo.serial_number,1,2) NOT IN ('AB','CD','EF','GH')
AND substring(uinfo.serial_number,1,1) NOT LIKE 'M%'
AND upd.objtype ='HEEN'
AND TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(uinfo.firmware, '-', -2), '-', 1)) LIKE '3.0%'