sql語句的執行順序是什么,為什么下面這兩個sql執行的結果是一樣的
慕運維8079593
2018-09-12 18:18:23
TA貢獻1777條經驗 獲得超10個贊
你這兩個sql語句只是運行順序不同
第一個sql語句你嵌套多一層子查詢,先把sum(case when right(jym,1) in(2,8) then jyje else 0 end)/100 兩個聚合函數算出來,然后在分組having直接過濾。
而第二個sql是在having的時候才去算sum(case when right(jym,1) in(2,8) then jyje else 0 end)/100 兩個聚合函數的值。
但是你最后都是用這個條件去過濾的,所以結果是一樣的
舉報