日期:2014-05-17  浏览次数:20869 次

SQL語句優化--not in
SQL code
SELECT *
            FROM materialiohis
           WHERE SUBSTR (CATEGORY, 1, 1) NOT IN ('9', '0')


不想用NOT IN 想用NOT EXISTS,不知道該怎樣寫?
或者有簡單的方法也請指教!

------解决方案--------------------
你这个语句还能怎么用,要么用<>+and
------解决方案--------------------
你数据里很大嘛
如果不大,就没有关系啦!
------解决方案--------------------
如果数据量很大,用not in完全可以了,如果你用not exists就要关联子查询,这样效率很低
------解决方案--------------------
SQL code
为什么不想用not in?

SELECT *
FROM materialiohis
WHERE SUBSTR(CATEGORY, 1, 1)<>'0'
and SUBSTR(CATEGORY, 1, 1)<>'9'
/

------解决方案--------------------
优化是相对的 你这种情况 就应该用not in ,不然写的太繁琐了
------解决方案--------------------
WHERE CATEGORY not like '9%' and CATEGORY not like '0%'