这两个查询如何与and或子句一起使用?

时间:2018-08-05 21:09:39

标签: postgresql

select * from users where id=1 or 1=1;。它返回表用户的所有行;

select * from users where id=1 and 1=1;返回特定于id = 1的所有行;

1 个答案:

答案 0 :(得分:0)

如果x or yx为真,则表达式y为真。因此,在第一个sql中,您将where子句的任何行评估为true(因为1显然总是等于1)。

相反,x and y仅在 xy均为真时才为真。因此,在第二个sql中,仅将whereid的那些行中的1子句评估为true。