我目前是 PostgreSQL 新手,正在学习版本 10.14。正在使用 WHERE 运算符处理 SELECT 命令,但在使用 NOT 选项时感到困惑。
目标:检索特定范围内的数据; “分数小于等于 35 且大于等于 60”。
问题:两种语法的区别,结果不同?
SELECT name FROM science_class WHERE science_marks not between 35 and 60;
SELECT name FROM science_class WHERE science_marks<=35 AND science_marks>=60;
谢谢你, Hermes 架构
最佳答案
你的想法几乎是正确的。
TL;DR:您的第二个查询应该是 SELECT name FROM science_class WHERE science_marks < 35 OR science_marks > 60;
它应该是 OR 而不是 AND,因为它应该满足其中一个条件。对于And,两个条件都必须满足,这是不可能的
当您说 NOT BETWEEN 35 AND 60 时,您排除了 35 和 60,因此您应该使用 < 或 >,而不是 <= 或 >=
关于PostgreSQL 10 SELECT WHERE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63787350/