powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Какая разница между Left Join и Right Join
4 сообщений из 4, страница 1 из 1
Какая разница между Left Join и Right Join
    #38972896
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел в документации такое:
авторRIGHT JOIN реализован аналогично LEFT JOIN.
А про LEFT JOIN пишут такое :
авторВыражение "A LEFT JOIN B" в MySQL реализовано следующим образом:
...
Таблица B устанавливается как зависимая от таблицы A и от всех таблиц, от которых зависит A.
....
Выполняются все стандартные способы оптимизации соединения, за исключением того, что таблица всегда читается после всех таблиц, от которых она зависит.
Получается таблица А используя LEFT JOIN будет читаться первой, но и в запросе "A RIGHT JOIN B" таблица А все равно будет читаться первой.
Поэтому:
Код: plsql
1.
2.
3.
SELECT * FROM
    t1 RIGHT JOIN t2
    USING (blah_id)


будет выполнятся с такой же скоростью что и запрос:
Код: plsql
1.
2.
3.
4.
SELECT * FROM
    t1 LEFT JOIN t2
    USING (blah_id)
    WHERE t2.blah_id IS NOT NULL



Я правильно понял?
...
Рейтинг: 0 / 0
Какая разница между Left Join и Right Join
    #38972897
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vano34,

А еще там было написано, что предпочтительнее использовать LEFT JOIN
авторRIGHT JOIN works analogously to LEFT JOIN. To keep code portable across databases, it is recommended that you use LEFT JOIN instead of RIGHT JOIN.
...
Рейтинг: 0 / 0
Какая разница между Left Join и Right Join
    #38972910
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vano34,


Я правильно понял?



нет, неправильно.


t1 left join t2

то же самое, что

t2 right join t1

к скорости это не имеет никакого отношения, дело в семантике операции.
...
Рейтинг: 0 / 0
Какая разница между Left Join и Right Join
    #38972928
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vano34Получается таблица А используя LEFT JOIN будет читаться первой, но и в запросе "A RIGHT JOIN B" таблица А все равно будет читаться первой.Нет. Всегда первой читается ЛЕВАЯ таблица.
Vano34А еще там было написано, что предпочтительнее использовать LEFT JOIN
Да. Это снимает видимую неоднозначность при смешении типов соединений и отсутствии задающих порядок соединения скобок.
Впрочем, парсер-оптимизатору по барабану. Первое, что он сделает - это трансформирует текст запроса во внутренний псевдокод, а там нет правого и левого связываний, это одно и то же связывание.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Какая разница между Left Join и Right Join
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]