作者:三哥

来源:cloud.tencent.com/developer/article/1475146

这段代码应该是由程序(例如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;

特别推荐一个分享架构+算法的优质内容,还没关注的小伙伴,可以长按关注一下:

长按订阅更多精彩▼如有收获,点个在看,诚挚感谢

年轻人不讲武德,where 1=1 是什么鬼?相关推荐

  1. 年轻人不讲武德有多可怕?

    1 孩子,走你! ▼ 2 这都是什么阴间燃料 (素材来源网络,侵删) ▼ 3 年轻人不讲武德 (素材来源网络,侵删) ▼ 4 当你偷瞄喜欢的男生 ▼ 5 贝多芬:我入土这么都多年了 (素材来源网络,侵 ...

  2. cout不明确什么意思_年轻人不讲武德是什么梗和意思 年轻人不讲武德梗出处

    太极大师马保国的一句"年轻人不讲武德,偷袭我这个69岁的老人家"最近火了,很多人都在模仿这个句式,用法还挺广泛.那么年轻人不讲武德是什么梗?年轻人不讲武德梗的出处是什么?下面小编带 ...

  3. 年轻人不讲武德,TDengine边缘侧数据存储方案挑战SQLite

    上周,涛思数据与EMQ在线上Meetup上联合发布了工业互联网一体化解决方案,基于TDengine.EMQ X搭建一个集工业数据采集.汇聚.清洗.存储分析以及可视化展示等能力于一体的轻量级边缘计算工业 ...

  4. 再见,米哈游!原神社区防f12控制台调试代码全解(年轻人不讲武德)

    前言 刚刚逛原神社区,不经意间按到了 f12 打开了控制台,突然屏幕暗了,发生甚么事了! 我一看,嗷,原来是进到无限 debbuger 调试了,传统审查讲究点到为止,用了 debbuger 这还了得, ...

  5. 年轻人不讲武德,竟用Python让马老师表演闪电五连鞭!

    11月份的头条,是属于马保国的. 一位69岁的老同志,惨遭年轻人偷袭,不讲武德. 看看把老同志欺负的... 要不是马老师讲仁义讲道德,甩手就是一个五连鞭. 哈哈哈,所以本期我们就用Python给马保国 ...

  6. 年轻人不讲武德,一起聊聊List集合(一)

    文章目录 前言 一.List类图 二.源码剖析 1. ArrayList(此篇详解) 2. LinkedList 3. Vector 4. CopyOnWriteArrayList ~~   码上福利 ...

  7. 年轻人不讲武德,一起聊聊List集合(三)

    文章目录 前言 一.List类图 二.源码剖析 1. Vector(此篇详解) 2. ArrayList 3. LinkedList 4. CopyOnWriteArrayList ~~   码上福利 ...

  8. 年轻人不讲武德!卢伟冰脱口秀:小米高端之路好自为之

    11月26日,Redmi正式发布千元精品Note系列新机,三剑齐发:Note 9 Pro.Note 9和Note 9 4G三款产品. Redmi Note 9 Pro国内首发旗舰规格的一亿像素相机HM ...

  9. 年轻人不讲武德,一起聊聊List集合(五)

    文章目录 前言 一.List类图 二.集合总结 1. ArrayList与Vector集合区别 2. ArrayList与CopyOnWriteArrayList集合区别 3. 时间复杂度 / 空间复 ...

最新文章

  1. checkbox居中 editor_C1FlexGrid绑定自定义Editor-C1CheckBox
  2. 数据科学和机器学习中使用的最多的20个R语言包
  3. Quartz-Trigger详解
  4. 后台和前台对转义符号'/'同时起作用的例子
  5. jQuery DOM/属性/CSS操作
  6. 通知 notification
  7. 浅谈UWB室内定位(二)
  8. Swift - 将String类型的数字转换成数字类型
  9. notifier chain — 内核通知链【转】
  10. idea 格式化vue代码,检查语法
  11. 高德地图 热力图 清空地图
  12. 什么是IT人员外包?
  13. 麦吉尔电子计算机工程专业好么,多大/UBC/麦吉尔,什么专业最厉害?
  14. python matplotlib 基础练习:画一元二次函数
  15. L TEXT和 _T的区别
  16. matlab用到两个工具箱有重复函数文件处理方法
  17. 图像分割之常用损失函数-Dice Loss
  18. 计算机操作员初级试题及答案,计算机操作员初级考试试题
  19. 虚拟麦克风音频输入_全新职业级 罗技G PRO X游戏耳机麦克风震撼上市
  20. 泰拳的快感之二——我看《冬荫功》

热门文章

  1. 【C语言】用宏实现将一个整数的二进制位的奇数位和偶数位交换
  2. TensorFlow中的ResNet残差网络实战(2)
  3. 网络协议分层_接口测试之网络分层和数据
  4. BZOJ 2132 圈地计划(最小割)【BZOJ 修复工程】
  5. 计算机应用公共课程,公共基础课程中计算机应用管理制度
  6. H - Fibonacci POJ - 3070 (矩阵快速幂)
  7. 简单理解重量级锁、轻量级锁、偏向锁
  8. 108.将有序数组转换为二叉搜索树
  9. java 继承 注解_在java中实现组合注解原理分析(注解继承)
  10. python中基本程序结构_关于Python 程序格式框架的描述,正确的是( )