如题,mysql查询条件使用=和in的区别
select * from record where id =($value)和select * from record where id in ($value)的区别
不是很明白,虽然都可以实现同样的功能,为什么会用=,而不用in呢?

解决方案 »

  1.   

    =后面是一个值。
    in 后面可以是多个值。例如 id=2
    例如 id in (2,3,4)
      

  2.   

    select * from record where id =($value)和select * from record where id in ($value)的区别select * from record where id =(select id from Table)如果 select id from Table 查询到大于1个值就报错
    In  (1,2,3,4)  依次取括号范围的值
      

  3.   

    select * from record where id =($value)
    ($value)的值是一个值select * from record where id in ($value)
    ($value)的值是多个值
      

  4.   

    假如$value都是一个值,第一情况用到了索引,速度很快,第二情况没用到索引,速度慢
    假如$value有多个值,只能用情况二了