做实验的时候,突然对标题中四个表达式分不清楚,故查询资料得到如下区别,希望能帮助到大家
区别一
min()和max()属于聚集函数,括号内只能填入列名或者’*’
any()和all()属于谓词,括号内只能填入子查询语句
区别二
where后面能直接用any()和all(),但是不能直接用min()和max()
(注:where后面不能使用聚集函数)
例子
问:查询表中比“林红”年纪大的男学生信息(表中全部数据如下图所示)
答:
使用all()的写法
select * from Student where Sex = '男' and Birth < all(select Birth from Student where Sname='林红')
使用min()的写法
select * from Student where Sex = '男' and Birth < (select min(Birth) from Student where Sname='林红')
大家如果发现还有别的区别的话,欢迎在评论区补充