十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
or表示或
创新互联服务项目包括荣县网站建设、荣县网站制作、荣县网页制作以及荣县网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,荣县网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到荣县省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
a or b 即 a为真或b为真,则返回真
所以答案是c
b错在多了“只有”、“才”这三个字,两个都为真自然返回真,但不是只有这一种情况返回真。
SQL语句中 in和or的区别为:操作不同、适合不同、执行效率不同。
一、操作不同
1、in:in是把父查询表和子查询表作hash连接。
2、or:or是对父查询表作loop循环,每次loop循环再对子查询表进行查询。
二、适合不同
1、in:in适合用于子查询表数据比父查询表数据多的情况。
2、or:or适合用于子查询表数据比父查询表数据少的情况。
三、执行效率不同
1、in:在没有索引的情况下,随着in后面的数据量越多,in的执行效率不会有太大的下降。
2、or:在没有索引的情况下,随着or后面的数据量越多,or的执行效率会有明显的下降。
case when中的各个条件不能有交集,否则会出现异常
该例的结果应该如下:
select id,[name],
score=case when uscore=80 or cscore=90 then '优'
when uscore60 or cscore70 then '不及格'
else '中等' end
from userinfo
再看一下case when语法如下: 各个条件表达式要互不相交
case when 条件表达式1 then 结果表达式1
when 条件表达式2 then 结果表达式2
。。。。 else 结果表达式n
end
如果要用到or或者and操作,肯定是在条件表达式中有多个判断逻辑需要操作
比如 case when a10 or a5 then '结果1' else '结果2' end
这样就会区分大于10或者小于5的记录
这里串联上面的那个
常量扫描--筛选器 就是你的条件 sAGE20
下面的聚集索引查找就是你的条件:sno in (select sno from sc where sno=student.sno);
因为这两个条件是or的关系,所以最后会串联到一起,你把条件改成and 的话,这里应该就成了嵌套循环了