Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Выборка данных из двух таблиц
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Выборка данных из двух таблиц

Страниц (1): [1]
 

1. igosja - 07 Марта, 2015 - 10:24:51 - перейти к сообщению
Есть две таблицы: скажем, города и страны.
Какой вариант предпочтительней для объединения этих таблиц?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `city_name`, `country_name`
  2. FROM `city`, `country`
  3. WHERE `city_country_id`=`country_id`

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `city_name`, `counrty_name`
  2. FROM `city`
  3. LEFT JOIN `country`
  4. ON `city_country_id`=`country_id`

Пример тестовый, реально таблиц больше и они сложнее. Объединяется по 5-7 таблиц и все слияния идут по "индексам".
2. LIME - 07 Марта, 2015 - 10:46:49 - перейти к сообщению
первый вариант приведется к второму оптимизатором
только в первом случае INNER JOIN всетаки
они не равнозначны
второй нагляднее и читабельнее
3. igosja - 07 Марта, 2015 - 15:38:41 - перейти к сообщению
LIME пишет:
первый вариант приведется к второму оптимизатором...

Спасибо, не знал.

 

Powered by ExBB FM 1.0 RC1