首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL < any <= any返回相同的东西

SQL < any <= any返回相同的东西
EN

Stack Overflow用户
提问于 2021-01-27 06:34:24
回答 2查看 60关注 0票数 0
代码语言:javascript
复制
create table College(cName varchar(100), state varchar(100), enrollment int);
insert into College values ('Stanford', 'CA', 15000);
insert into College values ('Berkeley', 'CA', 36000);
insert into College values ('MIT', 'MA', 10000);
insert into College values ('Cornell', 'NY', 21000);


select cName 
from College S1 
where enrollment <= any (select enrollment 
                             from College S2 
                             where S2.cName <> S1.cName)

select cName 
from College S1 
where enrollment < any (select enrollment
                        from College S2 
                        where S2.cName <> S1.cName)

这两个查询返回相同的东西,我不明白为什么。第一个查询也不返回Berkeley,但不是Berkeley <= Berkeley。

EN

回答 2

Stack Overflow用户

发布于 2021-01-27 09:46:06

您没有通过执行where S2.cName <> S1.cName来比较匹配cNames的注册值

忽略此条件以查看差异:

代码语言:javascript
复制
select cName 
from College S1 
where enrollment <= any (select enrollment from College S2)

select cName 
from College S1 
where enrollment < any (select enrollment from College S2)
票数 0
EN

Stack Overflow用户

发布于 2021-01-27 09:55:02

因为在伯克利没有一个值为<= 36000(对应的注册值),即36000<=(15000,10000,21000),它不会返回任何值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65910269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档