请教:Mysql中下面两句话有什么不同?
(1)select * from shumu where z13_ZTFLH like 'P2%'  or 'TB22%' or 'TU198%' or 'TP7%'          
(2)select * from shumu where z13_ZTFLH like 'P2%' 
or  z13_ZTFLH like  'TB22%' 
or  z13_ZTFLH like  'TU198%' 
or z13_ZTFLH like  'TP7%' 

解决方案 »

  1.   

    自行测试一下不就知道了,
    1、相当于
    select * from shumu 
    2、要满足
    z13_ZTFLH like 'P2%'  
    or z13_ZTFLH like 'TB22%'  
    or z13_ZTFLH like 'TU198%'  
    or z13_ZTFLH like 'TP7%'
    条件的记录才被查询出来
      

  2.   

    1、怎么会相当于
    select * from shumu?
    经测试,2的返回结果比1多,有些不解;
      

  3.   

    select * from shumu where z13_ZTFLH like 'P2%' or 'TB22%' or 'TU198%' or 'TP7%'   
    逻辑不对地。结果都不一样。z13_ZTFLH like 'P2%' or ('TB22%') or ('TU198%') or ('TP7%'   )
    z13_ZTFLH like 'P2%' or (true) or (true) or (true)
      

  4.   

    select * from shumu where z13_ZTFLH like 'P2%' or 'TB22%' or 'TU198%' or 'TP7%'
    =
    select * from shumu where z13_ZTFLH like 'P2%' or true or true or true
    怎么不是返回全表记录 
      

  5.   

    刚测试了。 |5.1.54-community | 下不会选出全部记录,只看第一个条件! 
      

  6.   

    感觉像是 or false or false 一样。