请在SQL查询中解释此语句的优先级。什么将首先检查,如何,我无法理解。
SELECT * FROM table
WHERE (deleted_by <> :user AND deleted_by <> :nula)
OR deleted_by IS NULL
AND IDmessage=:ID
答案 0 :(得分:1)
AND
的优先级高于OR
,因此它相当于:
WHERE (deleted_by <> :user AND deleted_by <> :nula)
OR (deleted_by IS NULL AND IDmessage = :ID)
我建议您在AND
和OR
混合时使用明确的括号,因为结果并不总是直观的。