亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

子查詢中的 e.deptno如果替換成 emp.deptno得到的結果為什么不一樣?

1)select empno,ename,sal, (select avg(sal) from emp where deptno=e.deptno) avgsal

? ?from emp e

? ?where sal > (select avg(sal) from emp where deptno=e.deptno)

2)select empno,ename,sal, (select avg(sal) from emp where deptno=emp.deptno) avgsal

? ?from emp e

? ?where sal > (select avg(sal) from emp where deptno=emp.deptno)


正在回答

3 回答

from emp e

? ?where sal > (select avg(sal) from emp where deptno=emp.deptno)

因為 e 表是from emp e 這個表??emp.deptno? select avg(sal) from emp?是指這個表


0 回復 有任何疑惑可以回復我~

主查詢和子查詢用的同一張表,子查詢語句條件中的deptno=emp.deptno 相當于笛卡爾積了。如果子查詢和主查尋每張表都有別名,就不存在這種問題了。

0 回復 有任何疑惑可以回復我~

就近原則,如果子查詢內有符合 ‘emp’ 的 表/集合,就采用子查詢內的,所以第二條語句的emp.deptno用的是子查詢內的而不是子查詢外的。

2 回復 有任何疑惑可以回復我~
#1

180416

還有就近原則,穩定的嗎?
2019-04-24 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

子查詢中的 e.deptno如果替換成 emp.deptno得到的結果為什么不一樣?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號