SELECT * FROM TABLE  WHERE NAME LIKE '%%' AND ADDR LIKE '%%'  AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%'  OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' )  的检索结果为何不同?

解决方案 »

  1.   


     就一句sql语句,如何不同法呢,没有比较对象啊?
      

  2.   

    不好意思,题目是这样的。
    SELECT * FROM TABLE 

    SELECT * FROM TABLE 
    WHERE NAME LIKE '%%' AND ADDR LIKE '%%' 
    AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%' 
    OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' ) 的检索结果为何不同? 
      

  3.   

    SELECT * FROM TABLE 
    是无条件的检索全部数据。SELECT * FROM TABLE 
    WHERE NAME LIKE '%%' AND ADDR LIKE '%%' 
    AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%' 
    OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' ) 如果所有列都不为空,检索结果一样,如果列有空值,比如addr列有空值,那结果就不一样了。