小编典典

在PostgreSQL中对AND和OR条件进行分组

sql

我总是在SQL查询中使用方括号。但是我有一个例子:

DELETE FROM prog 
WHERE prog_start >= $1 AND prog_start < $2
   OR prog_end > $1 AND prog_end <= $2

是否等于:

DELETE FROM prog
WHERE ( prog_start >= $1 AND prog_start < $2 )
   OR ( prog_end > $1 AND prog_end <= $2 )

或不 ?


阅读 205

收藏
2021-04-22

共1个答案

小编典典

在SQL中,AND运算符优先于OR运算符。PostgreSQL遵守这里的规范。您可以在Lexical Structure:Operator
Precedence
中的PostgreSQL中确定确切的优先

因此,在您的情况下,结果将是相同的。但是,简单地使用括号会更容易,更清洁。

2021-04-22