Есть две таблицы в MySQL:
- product (товары)
- manufactured (производители)
В product есть столбцы: product_id, manufactured_id и name
В manufactured есть столбцы: manufactured_id и name
Следовательно, каждому product_id присваивается определенный manufactured_id. Но сейчас уже очень много производителей, которые не нужны и не используются.
Можно ли как-то получить manufactured_id и name, которые не привязаны ни к одному product_id?
Просто тут используется внутреннее соединение, а в действие с таким условием работает как неэквивалентное соединение. Оно должно возвращать те записи, которые не удовлетворяются условию, то есть если в таблице категорий указав id товара, в таблице товара такого id нету, то оно выберет его.
@morozovdenis Да. Уже понял. Но вот я пока вижу это условие правильным ON product.manufactured_id <> manufactured.id
Мы проверим тут существует ли id категории который указан в товаре. Если нет, то товар без существующей категории и условие срабатывает.
@dabich у нас не товар с несуществующей категорией, у нас категория(не нужная) без товаров. ваше условие выберет категории в числе которых будут категории без товаров и категории с товарами
@neonox Да не за что, может и не прав. Но хорошо мыслить самому, тем более не так уж и опыта в таких запросах у меня. За-то при обсуждении наконец понимаешь всю суть.