rt

解决方案 »

  1.   

    not like 相当于不包含
    not in 相当于不等于 不在集合里面
      

  2.   


    IN(或   NOT   IN)引入的子查询结果是一列零值或更多值。子查询返回结果之后,外部查询将利用这些结果。   
        
      like   确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。与使用   =   和   !=   字符串比较运算符相比,使用通配符可使   LIKE   运算符更加灵活。1.IN后跟结果集形式,例   
      select   *   from   studinfo   where   score   in(select   max(score)   from   studinfo)   
      这里,in或虽跟的查询语句得出来的是一个值,但他也代表一个结果集   
        
      2.like后跟一个字段值的形式   
      select   *   from   studinfo   where   name   like   '李%'   
        
      查询所有姓李的人的纪录,虽然是若干条,但不是结果集   
        
      not取反即可   
      

  3.   

    IF OBJECT_ID('TB')IS NOT NULL DROP TABLE TB
    GO
    CREATE TABLE TB(ID INT ,[NAME] VARCHAR(10))
    INSERT TB SELECT 1,'ABCD'
    INSERT TB SELECT 2,'ABCE'
    INSERT TB SELECT 3,'ABgF'
    select * from tb where id not in(1,2)
    select * from tb where [name]not like '%c%'
    /*ID          NAME
    ----------- ----------
    3           ABgF(1 行受影响)ID          NAME
    ----------- ----------
    3           ABgF
    */
      

  4.   

    not in后要跟结果集,而not like后要跟字段集的数据。
      

  5.   

    简单理解:
    not like -->不包含
    not in -->不在...里
      

  6.   

    not like 是指,没有类似于某个字符串的记录
    not in 是指不在某个集合中的记录
      

  7.   

    not like 指不像,如not like '%like%'指没有like的
    not in 指不在其中,如not in (like,likeA,Alike)指不包括like,likeA,Alike 其他都可以
      

  8.   

    没什么联系
    like是针对列的运算符
    in是针对集合(表)的运算符