какой из запросов правельный?

Духовность™

Продвинутый новичок
какой из запросов правельный?

есть 2 таблицы - рубрики и статьи. таблица статьи хранит ид рубрики.

PHP:
SELECT
    articles.*
FROM
    articles
INNER JOIN
    rubrics
ON
    articles.id_rubric = rubrics.id_rubric 
AND
    rubrics.rubric_url = "?"

или

PHP:
SELECT
    articles.*
FROM
    articles
INNER JOIN
    rubrics
ON
    articles.id_rubric = rubrics.id_rubric 
WHERE
    rubrics.rubric_url = "?"

и почему?
 
Ну это уже смешно - как мы определим какой запрос правильные не зная чего ты хочешь?
 
triumvirat
они оба правильные, потому-что эквивалентные. Но имхо более принятый вариант, в ON указывать только условия объединения.

The ON conditional is any conditional expression of the form that can be used in a WHERE clause. Generally, you should use the ON clause for conditions that specify how to join tables, and the WHERE clause to restrict which rows you want in the result set.
http://dev.mysql.com/doc/refman/5.0/en/join.html
 
чет я не вижу разницы.
я креведко?
 
чет я не вижу разницы.
тоже долго искал...[sql]ON
(articles.id_rubric = rubrics.id_rubric AND rubrics.rubric_url = "?")[/sql]
[sql]ON (articles.id_rubric=rubrics.id_rubric )
WHERE rubrics.rubric_url= "?"[/sql]скобки принято ставить.
с WHERE предпочтительней, тк в ON принято ставить условие объединения
 
в ON принято ставить условие объединения
дошло, спасибо!

скажите, а если написать

[sql]
SELECT
articles.*
FROM
articles
INNER JOIN
rubrics
WHERE
articles.id_rubric = rubrics.id_rubric
AND
rubrics.rubric_url = "?"
[/sql] ведь это тоже будет работать. Что можно сказать об этом запросе?
 
Сверху