Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2015, 02:03   #1
shahboz1209
Новичок
Джуниор
 
Регистрация: 14.01.2015
Сообщений: 1
По умолчанию Разница между from и join

Доброго времени суток! В запросе
select distinct * from table1, table2 where column_from_table1 = column_from_table2
и
select * from table1 inner join table2 on column_from_table1 = column_from_table2
в чем разница? В принципе одинаково работают.
И еще, в каких случаях использование join удобно?
shahboz1209 вне форума Ответить с цитированием
Старый 14.01.2015, 07:29   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
в чем разница? В принципе одинаково работают.
на мой взгляд - только в способе записи, суть одна и та же

Цитата:
И еще, в каких случаях использование join удобно?
когда нужно использовать left join и right join

кстати, посмотрите на картинку, иллюстрацию к статье про Join,
имхо, поучительно и полезно:

http://www.codeproject.com/KB/databa...JOINS_orig.jpg

.

Последний раз редактировалось Serge_Bliznykov; 14.01.2015 в 07:37.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.01.2015, 23:44   #3
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Цитата:
в чем разница? В принципе одинаково работают.
Одинаково работают на первый взгляд. Если речь идет о небольших объемах данных объединяемых таблиц.
Запросы с join называют явными соединениями, объединения через where, соответственно, неявными.
Смысл в том, что структура предложения join предоставляет серверу СУБД возможность оптимизировать запрос
потому что сервер может явно выделить объединяемые объекты (таблицы, их строки) из специализированной части текста запроса.
При неявном объединении, где могут быть и другие многочисленные условия выборки кроме "объединяющих",
оптимизация может оказаться весьма затруднительной.

Запросы, которым необходимо объединять данные из многих таблиц, а таблицы содержат большие объемы данных,
упомянутая "оптимизация" может увеличить производительность выборки.
Стандарты SQL все же настойчиво рекомендуют пользоваться явными соединениями.
Прик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связи между таблицами (inner, left, .. Join) RISagitov SQL, базы данных 3 23.10.2012 11:43
разница между компами новая Компьютерное железо 1 20.11.2011 12:33
В чем разница между С и С++? Freddy Krjuger Общие вопросы C/C++ 1 14.11.2009 21:23
Разница между датами kykysya Общие вопросы Delphi 8 26.03.2009 18:22
Разница между датами deenka БД в Delphi 3 31.01.2008 13:21