• SQL语句中where条件后 写上 1=1 是什么意思

    发布:51Code 时间: 2020-01-19 10:30

  • 这段代码应该是由程序(例如Java)中生成的,where条件中 1=1 之后的条件是通过 if 块动态变化的。例如: where 1=1 是为了避免where 关键字后面的第一个词直接就是 and而导致语法错误。...

  • 这段代码应该是由程序(例如Java)中生成的,where条件中 1=1 之后的条件是通过 if 块动态变化的。例如:

    where 1=1 是为了避免where 关键字后面的第一个词直接就是 “and”而导致语法错误。

    动态SQL中连接AND条件

    where 1=1 是为了避免where 关键字后面的第一个词直接就是 “and”而导致语法错误。

    where后面总要有语句,加上了1=1后就可以保证语法不会出错! 

    select * from table where 1=1

    因为table中根本就没有名称为1的字段,所以该SQL等效于select * from table,

    这个SQL语句很明显是全表扫描,需要大量的IO操作,数据量越大越慢,

    建议查询时增加必输项,即where 1=1后面追加一些常用的必选条件,并且将这些必选条件建立适当的索引,效率会大大提高 

    拷贝表 

    create table  table_name   as   select   *   from   Source_table   where   1=1;

    复制表结构 

    create table  table_name   as   select   *   from   Source_table   where   1 <> 1;

    文章来源:网络 版权归原作者所有
    如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理。
     
  • 上一篇:Java工程师的职业规划(最全版本)

    下一篇:出现这 10 种症状,说明你不适合干程序员!

网站导航
Copyright(C)51Code软件开发网 2003-2020 , 沪ICP备05003035号-6