|
|
|
| Доброго всем времени!
Подскажите какой приоритет при обединении таблиц
...FROM tStat AS t1, tStat AS t3
LEFT JOIN tStat AS t2 ON ( t2.name = t1.template ) ...
|
Что сначало декартово объединение t1 и t3, а затем левостороньее с t2 или сначало левосторонее t3 c t2 а затем декартовое t1 с полученной | |
|
|
|
|
|
|
|
для: sergeygoodkov
(25.01.2007 в 13:35)
| | Вроде как слева направо. Скобки же не стоят.... | |
|
|
|
|
|
|
|
для: Trianon
(25.01.2007 в 13:51)
| | А скобки по-моему в текущих версиях и не поддерживаются, грозятся в будущих реализовать... | |
|
|
|
|
|
|
|
для: 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 - задача явно для людей с куда более крепкими ервами , чем у меня. | |
|
|
|
|
|
|
|
для: Trianon
(25.01.2007 в 16:10)
| | Ага, пишут, что в 5.0.12 решили привести многотабличные запросы к стандарту SQL 2003...
PS В новых версиях CHM-справки ввели ко всему дебильную расцветку и шрифт - глаза сломаешь читать... | |
|
|
|