Время от времени я вижу, что они используются, но никогда не кажется, что это что-то такое, что не может быть выполнено одинаково хорошо, если не лучше, используя нормальное соединение или подзапрос.
Я считаю, что они вводят в заблуждение (их, вероятно, сложнее точно визуализировать по сравнению с обычными объединениями и подзапросами), часто неправильно понимают (например, использование SELECT *
будет вести себя так же, как SELECT 1
в подзапросе EXISTS/NOT EXISTS
) и из моего ограниченного опыта, медленнее выполнить.
Может ли кто-нибудь описать и / или предоставить мне пример, где они лучше всего подходят или где нет другого выбора, кроме как использовать их? Обратите внимание, что поскольку их выполнение и производительность, вероятно, зависят от платформы, меня особенно интересует их использование в MySQL .