用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 查到的結(jié)果完全不同,用前者能查到一條記錄,用后者查不到任何記錄,但兩者說的不是同一個意思嗎,而且即使有差別也應(yīng)該是后者可能查到的記錄更多吧,為什么這樣呢,真不理解,望高人指點(diǎn)
2 回答

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