sql如下,此条sql已经效率很低,求教效率搞的sql语句。谢谢各位!
SELECT *
FROM LCD29 L
WHERE L.LDCD291 >= TRUNC(SYSDATE, 'dd')
AND L.GDAB056 NOT IN
(SELECT B.BD_DATA5
FROM HR_COMBOOKDATE B
WHERE B.BD_DATE >= TRUNC(SYSDATE, 'dd')
AND TRUNC(L.LDCD291, 'dd') = TRUNC(B.BD_DATE, 'dd'));分不多,还请各位赐教!
SELECT *
FROM LCD29 L
WHERE L.LDCD291 >= TRUNC(SYSDATE, 'dd')
AND L.GDAB056 NOT IN
(SELECT B.BD_DATA5
FROM HR_COMBOOKDATE B
WHERE B.BD_DATE >= TRUNC(SYSDATE, 'dd')
AND TRUNC(L.LDCD291, 'dd') = TRUNC(B.BD_DATE, 'dd'));分不多,还请各位赐教!
SELECT *
FROM LCD29 L
WHERE L.LDCD291 >= TRUNC(SYSDATE, 'dd')
AND NOT EXISTS
(SELECT 1
FROM HR_COMBOOKDATE B
WHERE B.BD_DATE >= TRUNC(SYSDATE, 'dd')
AND TRUNC(L.LDCD291, 'dd') = TRUNC(B.BD_DATE, 'dd')
AND L.GDAB056 = B.BD_DATA5);
SELECT L.*
FROM LCD29 L
inner join HR_COMBOOKDATE B on TRUNC(L.LDCD291, 'dd') = TRUNC(B.BD_DATE, 'dd') AND L.GDAB056 = B.BD_DATA5
WHERE L.LDCD291 >= TRUNC(SYSDATE, 'dd')
and B.BD_DATE >= TRUNC(SYSDATE, 'dd');
求教这个select 1 是什么意思?
FROM HR_COMBOOKDATE B
WHERE B.BD_DATE >= TRUNC(SYSDATE, 'dd')
……
这些关联条件的记录。为了迎合sql语法,需要select一个字段,那么就select 1吧,当然,select 2 也可以。