SQL语句中where条件后写上1=1指的是什么

本篇内容介绍了“SQL语句中where条件后写上1=1指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联专业为企业提供英山网站建设、英山做网站、英山网站设计、英山网站制作等企业网站建设、网页设计与制作、英山企业网站模板建站服务,10多年英山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

这段代码应该是由程序(例如Java)中生成的,where条件中 1=1 之后的条件是通过 if 块动态变化的。例如:
String sql="select * from table_name where 1=1";
if( conditon 1) {
  sql=sql+"  and  var2=value2";
}
if(conditon 2) {
  sql=sql+"  and var3=value3";
}
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;

“SQL语句中where条件后写上1=1指的是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


本文标题:SQL语句中where条件后写上1=1指的是什么
文章源于:http://scyanting.com/article/gdpiee.html