用select wpt.work_plan_id,wpt.begin_time,wpt.bus_id,wpt.status,RowNum from WORK_PLAN_TABLE wptwhere RowNum = 1 and wpt.work_plan_id = 1查詢和用用select wpt.work_plan_id,wpt.begin_time,wpt.bus_id,wpt.status,RowNum from WORK_PLAN_TABLE wptwhere RowNum = wpt.work_plan_id 查到的結果完全不同,用前者能查到一條記錄,用后者查不到任何記錄,但兩者說的不是同一個意思嗎,而且即使有差別也應該是后者可能查到的記錄更多吧,為什么這樣呢,真不理解,望高人指點
2 回答

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
RowNum 是偽列,也就是說是在其他條件查詢結果都執行完之后才創建的一列值,從1開始編號,因此RowNum 只能和常量進行比較操作,且只能是小于或小于等于,或等于1. 第二中寫發中執行時RowNum這個偽列中的值都為空,因此什么也查不出來.
但第一個查詢先執行RowNum =1以外的條件是有結果的.
添加回答
舉報
0/150
提交
取消