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 '%%' ) 
  的检索结果为何不同?
大家帮忙看一下,这个问题!谢谢了!

解决方案 »

  1.   

    既然带了条件,就有可能不一样。至少某字段为空(NULL)的话,你这两个查询就不一样了。
      

  2.   

    主要是你三个and
    1 ,name 有数据,不包含null2 ,addr 有数据,不包含null3 ,1_addr,2_addr,3_addr,4_addr 至少其中之一有数据,不包含null当然与全部不同了。即使改为or,结果也可能不同
      

  3.   

    null和“”这两个是不一样的
    很简单你可以用select * from table,然后这个表字段里面有一个字段,你可以在程序里存null和存“”然后你用 select * from table where a is null和select * from table where a like '%%'
      

  4.   

    接分题,就是应为用了like 的字段 包含了null值
      

  5.   

    null值,和空值,确实有些不一样