栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

值> =全部(选择v2')与值=(选择max(v2)')产生不同的结果

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

值> =全部(选择v2')与值=(选择max(v2)')产生不同的结果

create table t (f int null);

select 1 where 1 >= (select max(f) from t); -- 1select 1 where 1 >= all(select f from t);   -- 2insert into t values (null), (0);select 1 where 1 >= (select max(f) from t); -- 3select 1 where 1 >= all(select f from t);   -- 4

http://www.sqlfiddle.com/#!6/3d1b1/1

第一个不

select
返回任何内容,第二个
select
返回
1

MAX
返回标量值。如果不存在任何行,则
MAX
返回
NULL
1 >= NULL
在第1行上,
1 >= allf
s不成立。另一方面,s是成立,因为根本没有
f
条件 成立的s 。

第三次

select
返回
1
,第四次不
select
返回任何内容。

MAX
像所有聚合函数一样,忽略
NULL
MAX(f)
在第3行上为0,并且
1 >= 0
为true。
ALL
否:它
1 >= NULL AND1 >= 0
在第4行求值,这是不正确的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409946.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号