这段代码应该是由程序中生成的,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;
另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~
UP在主页上传了一些学习C/C++编程的视频教程,有兴趣或者正在学习的小伙伴一定要去看一看哦!会对你有帮助的~
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
免费学习书籍:
免费学习资料:
原文转载:http://www.shaoqun.com/a/527606.html
1号团:https://www.ikjzd.com/w/2263
蜜芽宝贝官网:https://www.ikjzd.com/w/1320
这段代码应该是由程序中生成的,where条件中1=1之后的条件是通过if块动态变化的。例如:Stringsql="select*fromtable_namewhere1=1";if(conditon1){sql=sql+"andvar2=value2";}if(conditon2){sql=sql+"andvar3=value3";}wh
邮乐网购物商城:邮乐网购物商城
贝贝官网:贝贝官网
口述:女儿出轨后才理解父亲为何背叛(2/2):口述:女儿出轨后才理解父亲为何背叛(2/2)
实操:如何建立Facebook商务主页?:实操:如何建立Facebook商务主页?
国务院新闻办公室发布《关于中美经贸摩擦的事实与中方立场》白皮书!:国务院新闻办公室发布《关于中美经贸摩擦的事实与中方立场》白皮书!
没有评论:
发表评论