请问:
对数据库的查询中,如果where 条件有多个,那么 where字句中,条件的前后 放置位置对查询的结果有影响吗? 有的话,那具体的前后放置是怎样的呢?

解决方案 »

  1.   

    这个我也想过,我也没有具体了解过,不过习惯性把限制性强的放在前,我觉得sql应该是先解析前面的比如where id = 1 这个限制性特别强你就把这个放在AND的最前面吧!1如
    WHERE id < 10 AND name like '%d%' 
      

  2.   

    补充下:
    数据库是:sql server!是不是全有的数据库对我问的这个问题都一样呢!
      

  3.   

    应该差不了多少!!!当然我的习惯是这样的!!我常常用的oracle
      

  4.   

    比如where id = 1 这个限制性特别强你就把这个放在AND的最前面吧!1 如 
    WHERE id  < 10 AND name like '%d%' 
      

  5.   

    听说 oracle 中查询的时候是按  从  右到左 的方式查询的。所以重要的 条件要放在 右边! 不知道是不是?
      

  6.   

    我没查过,但我喜欢从左到右!!我有时写很长的sql,觉得速度没什么变化啊
      

  7.   

    在ORACLE 中,对where 中的条件是从右到左,在关联表较多时,条件的顺序很重要!我刚查到
      

  8.   

    条件是and就都一样喽,如果不是就不一样了
      

  9.   

    SQL SERVER中有一个“查询分析优化器”,它可以计算出where子句中的搜索条件并确定哪个索引能缩小表扫描的搜索空间,也就是说,它能实现自动优化。