powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Чем EXISTS отличается от JOIN ?
13 сообщений из 13, страница 1 из 1
Чем EXISTS отличается от JOIN ?
    #38458804
InterSky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понимаю эти три запроса полностью идентичны:
Код: sql
1.
2.
3.
select * from Table1 join Table2 on Table1.id=Table2.id
select * from Table1, Table2 where Table1.id=Table2.id
select * from Table1 where EXISTS (select * from Table2 where Table1.id=Table2.id)


Есть хоть какая-нибудь разница в этих запросах?
Может ли EXISTS сделать что-то чего не может JOIN?
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38458884
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InterSkyКак я понимаю эти три запроса полностью идентичны:
Код: sql
1.
2.
3.
select * from Table1 join Table2 on Table1.id=Table2.id
select * from Table1, Table2 where Table1.id=Table2.id
select * from Table1 where EXISTS (select * from Table2 where Table1.id=Table2.id)


Есть хоть какая-нибудь разница в этих запросах?
Может ли EXISTS сделать что-то чего не может JOIN?

может.
дольше работать.
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459052
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InterSky,

Первые два идентичны.
Третий может дать меньше записей, т.к. не будет множить записи из таблицы Table1, если в таблице Table2 найдется несколько подходящих записей. И третий даст в результате только поля из таблицы Table1.
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459053
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяInterSkyКак я понимаю эти три запроса полностью идентичны:
Код: sql
1.
2.
3.
select * from Table1 join Table2 on Table1.id=Table2.id
select * from Table1, Table2 where Table1.id=Table2.id
select * from Table1 where EXISTS (select * from Table2 where Table1.id=Table2.id)



Есть хоть какая-нибудь разница в этих запросах?
Может ли EXISTS сделать что-то чего не может JOIN?

может.
дольше работать.Быстрее - да, может. А вот дольше - не могу такой вариант подобрать.
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459065
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

(не уверен, но...)
теоретически, JOIN может оптимизироватся
(например пре-сорт?), а EXISTS -- врядли.

Другое дело что первые два запроса возврашают
данные из двух таблиц а третий -- только из
первой -- сравнивать два апельсина с айвой
как-то некузяво...
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459076
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcmiksoft,

(не уверен, но...)
теоретически, JOIN может оптимизироватся
(например пре-сорт?), а EXISTS -- врядли.Насколько я в курсе, MySQL не умеет MERGE JOIN.
Даже HASH JOIN совсем недавно появился, а раньше только NESTED LOOPS был.

И даже в случае MERGE JOIN я не вижу, что мешает по этому же алгоритму выполнить и EXISTS.
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459612
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftНасколько я в курсе, MySQL не умеет MERGE JOIN.
Эммм... http://dev.mysql.com/doc/internals/en/optimizer-index-merge-join-type.html
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459654
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinamiksoftНасколько я в курсе, MySQL не умеет MERGE JOIN.
Эммм... http://dev.mysql.com/doc/internals/en/optimizer-index-merge-join-type.html Тут некоторая путаница в терминологии. По ссылке Index Merge Join, а я говорил про MERGE JOIN .
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459712
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftAkinaпропущено...

Эммм... http://dev.mysql.com/doc/internals/en/optimizer-index-merge-join-type.html Тут некоторая путаница в терминологии. По ссылке Index Merge Join, а я говорил про MERGE JOIN .

Это ж одно и то же...
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459799
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivmiksoftпропущено...
Тут некоторая путаница в терминологии. По ссылке Index Merge Join, а я говорил про MERGE JOIN .

Это ж одно и то же...нет.
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459833
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Да, да.
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38459895
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivmiksoft,

Да, да.Аргументы будут?
...
Рейтинг: 0 / 0
Чем EXISTS отличается от JOIN ?
    #38460098
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Не, был неправ. Это другое.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Чем EXISTS отличается от JOIN ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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