在JOIN子句或WHERE子句中有SQL條件會更好嗎? SQL引擎是否針對任一方式進行了優化?它取決於發動機嗎?JOIN子句中的條件是邪惡SQL
總是可以用WHERE子句中的條件替換JOIN子句中的條件嗎?這裏
的例子來說明我的意思與條件
SELECT role_.name
FROM user_role
INNER JOIN user ON user_role.user_id_ = user.id AND
user_role.user_id_ = @user_id
INNER JOIN role ON user_role.role_id = role_.id
與
SELECT role_.name
FROM user_role
INNER JOIN user ON user_role.user_id_ = user.id
INNER JOIN role ON user_role.role_id = role_.id
WHERE user.id = @user_id
假設運不排除在where子句中的NULL那麼你對左/右這是一個很好的與正確的WHERE子句中使用的條件問題假設,但我喜歡陳述假設。 另請注意,爲清楚起見,mysql不支持FULL OUTER JOINS,但sql-server(op選擇了兩個標籤)。 – gillyspy 2013-05-05 05:51:12
這就是我在google上搜索的,如何在JOIN中處理NULL值和WHERE ..感謝您的輸入.. – 2013-05-05 05:52:32