如何在PostgreSQL中编写WHERE子句

时间:2017-11-29 13:09:16

标签: sql postgresql

当我写PostgreSQL WHERE子句时条件顺序有问题吗?

想象一下,ID列被编入索引而name未被列入的表格。

这些两个查询是否会同时执行

  1. SELECT * FROM users WHERE state = 0 AND id = 3;

  2. SELECT * FROM users WHERE id = 3 AND state = 0;

  3. 尽管有这些简单的查询。 Postgres是否对复杂查询进行相同的优化,何时不进行优化?

    请在回答时提供教授链接。

    谢谢。

1 个答案:

答案 0 :(得分:0)

https://www.postgresql.org/docs/current/static/sql-select.html#SQL-WHERE

  

其中condition是任何计算结果类型的表达式   布尔值。任何不满足此条件的行都将是   从输出中消除。

https://www.postgresql.org/docs/current/static/functions-logical.html

  

运算符AND和OR是可交换的,也就是说,你可以切换   左右操作数而不影响结果

关于"条件评估控制",有are some answers