or表示或
創(chuàng)新互聯(lián)服務項目包括榮縣網(wǎng)站建設、榮縣網(wǎng)站制作、榮縣網(wǎng)頁制作以及榮縣網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,榮縣網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到榮縣省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
a or b 即 a為真或b為真,則返回真
所以答案是c
b錯在多了“只有”、“才”這三個字,兩個都為真自然返回真,但不是只有這一種情況返回真。
SQL語句中 in和or的區(qū)別為:操作不同、適合不同、執(zhí)行效率不同。
一、操作不同
1、in:in是把父查詢表和子查詢表作hash連接。
2、or:or是對父查詢表作loop循環(huán),每次loop循環(huán)再對子查詢表進行查詢。
二、適合不同
1、in:in適合用于子查詢表數(shù)據(jù)比父查詢表數(shù)據(jù)多的情況。
2、or:or適合用于子查詢表數(shù)據(jù)比父查詢表數(shù)據(jù)少的情況。
三、執(zhí)行效率不同
1、in:在沒有索引的情況下,隨著in后面的數(shù)據(jù)量越多,in的執(zhí)行效率不會有太大的下降。
2、or:在沒有索引的情況下,隨著or后面的數(shù)據(jù)量越多,or的執(zhí)行效率會有明顯的下降。
case when中的各個條件不能有交集,否則會出現(xiàn)異常
該例的結(jié)果應該如下:
select id,[name],
score=case when uscore=80 or cscore=90 then '優(yōu)'
when uscore60 or cscore70 then '不及格'
else '中等' end
from userinfo
再看一下case when語法如下: 各個條件表達式要互不相交
case when 條件表達式1 then 結(jié)果表達式1
when 條件表達式2 then 結(jié)果表達式2
。。。。 else 結(jié)果表達式n
end
如果要用到or或者and操作,肯定是在條件表達式中有多個判斷邏輯需要操作
比如 case when a10 or a5 then '結(jié)果1' else '結(jié)果2' end
這樣就會區(qū)分大于10或者小于5的記錄
這里串聯(lián)上面的那個
常量掃描--篩選器 就是你的條件 sAGE20
下面的聚集索引查找就是你的條件:sno in (select sno from sc where sno=student.sno);
因為這兩個條件是or的關系,所以最后會串聯(lián)到一起,你把條件改成and 的話,這里應該就成了嵌套循環(huán)了