Я получил этот вопрос в одном из интервью, в котором спрашивали о левом и правом соединениях в Mysql.Mysql Left Vs. Right Outer Join
Зачем нам нужно левое соединение, когда есть уже правильное и наоборот?
Объяснение: -
SELECT * FROM users LEFT JOIN profile ON (users.user_id= profile.user_id);
Это приведет это все соответствующие данные профиля таблицы и все данные таблицы пользователей. Теперь я делаю то же самое, используя ПРАВИЛЬНОЕ СОЕДИНЕНИЕ.
SELECT * FROM profile RIGHT JOIN users ON(profile.user_id = users.user_id)
Это также будет иметь тот же результат, как и в приведенном выше запросе то есть то, что я сделал здесь переместил левую таблицу направо и сделал присоединиться слева направо таблицы.
Теперь, когда я могу выполнить это, используя левый Join, а также я могу сделать то же самое, используя правую Join. Есть ли необходимость в обоих соединениях, или мы можем делать все, используя один JOIN только влево или вправо.
Буду очень благодарен за помощь всем, кто знает и может объяснить мне то же самое.
Заранее спасибо.
Комбинация левого и правого соединений приводит к полному внешнему соединению, где нет фильтрации ... Вы должны провести некоторое исследование. Есть тонны вопросов об этом уже –
Возможный дубликат [В чем разница между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN?] (Http://stackoverflow.com/questions/5706437/whats-the-difference-between- inner-join-left-join-right-join-and-full-join) –
Это не его вопрос. Его вопрос заключается в том, почему нам нужно правое соединение, когда левое соединение достаточно само по себе. – Sebas