Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Приоритет при объединении таблиц
 
 автор: sergeygoodkov   (25.01.2007 в 13:35)   письмо автору
 
 

Доброго всем времени!
Подскажите какой приоритет при обединении таблиц

...FROM tStat AS t1, tStat AS t3
LEFT JOIN tStat AS t2 ON ( t2.name = t1.template ) ...

Что сначало декартово объединение t1 и t3, а затем левостороньее с t2 или сначало левосторонее t3 c t2 а затем декартовое t1 с полученной

   
 
 автор: Trianon   (25.01.2007 в 13:51)   письмо автору
 
   для: sergeygoodkov   (25.01.2007 в 13:35)
 

Вроде как слева направо. Скобки же не стоят....

   
 
 автор: cheops   (25.01.2007 в 15:55)   письмо автору
 
   для: Trianon   (25.01.2007 в 13:51)
 

А скобки по-моему в текущих версиях и не поддерживаются, грозятся в будущих реализовать...

   
 
 автор: Trianon   (25.01.2007 в 16:10)   письмо автору
 
   для: cheops   (25.01.2007 в 15:55)
 

Из http://dev.mysql.com/doc/refman/5.1/en/join.html следует, что скобки всё же существуют, только если не включать режим ANSI....

table_references:
    table_reference [, table_reference] ...

table_reference:
    table_factor
  | join_table

table_factor:
    tbl_name [[AS] alias]
        [{USE|IGNORE|FORCE} INDEX (key_list)]
  | ( table_references )
  | { OJ table_reference LEFT OUTER JOIN table_reference
        ON conditional_expr }


A table reference is also known as a join expression. 

The syntax of table_factor is extended in comparison with the SQL Standard. 
The latter accepts only table_reference, not a list of them inside a pair of parentheses. 

This is a conservative extension if we consider each comma in a list of 
table_reference items as equivalent to an inner join. For example: 

SELECT * FROM t1 LEFT JOIN (t2, t3, t4)
                 ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)
is equivalent to: 

SELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4)
                 ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)




В 5.0 о скобках написано еще больше.
Вообще, разбираться с различием в поведении версий MySQL - задача явно для людей с куда более крепкими ервами , чем у меня.

   
 
 автор: cheops   (25.01.2007 в 18:35)   письмо автору
 
   для: Trianon   (25.01.2007 в 16:10)
 

Ага, пишут, что в 5.0.12 решили привести многотабличные запросы к стандарту SQL 2003...

PS В новых версиях CHM-справки ввели ко всему дебильную расцветку и шрифт - глаза сломаешь читать...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования