sql中的any和all子句有什么区别?

时间:2019-08-29 22:16:48

标签: sql

我读过很多博客,但看不清区别之处

3 个答案:

答案 0 :(得分:1)

如果v1必须大于col2中的ANY,则表示v1必须大于col2中的最小值。如果v1必须大于col2中的ALL,那么这意味着v1必须大于col2中的最大值。

答案 1 :(得分:1)

这些通常与> >= < <=之类的运算符一起使用,在这种情况下,直接看下面的示例即可。

select * from employees where salary > any (1000, 150, 75);
select * from employees where dept <= all (select allowed_dept from loan_constraints);

第一个使用固定值只是为了显示语法,第二个是更实际的示例,其中与您比较的值未知,但可以从其他表中读取。

您总是可以使用其他方式来编写这些查询,但这是一种方式,它可读且清晰。

修改1

  • 小于等于最大
  • 小于全部等于小于最小
  • 等于
  • 同样适用于大于。

答案 2 :(得分:0)

如果我告诉你:从这个篮子里摘任何个水果,你可以带一个苹果,一个梨,香蕉。

但是,如果我告诉您:从篮子里摘走所有水果,,您将需要摘走所有苹果,梨的em>和 所有,香蕉的 所有

有帮助吗?