这段代码应该是由程序(例如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 是什么鬼?SQL中有这玩意?相关推荐

  1. mysql测试什么鬼,where 1=1 是什么鬼?SQL中有这玩意?

    这段代码应该是由程序(例如Java)中生成的,where条件中 1=1 之后的条件是通过 if 块动态变化的.例如: String sql="select * from table_name ...

  2. sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错...

    sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错 转载于:https://www.cnblogs.com/w123w/p/10673692.html

  3. mybatis sql中有中文处理

    2019独角兽企业重金招聘Python工程师标准>>> 今天在mybatis sqlMapper里面写了如下sql: select decode(t1.type,1,'出',2,'入 ...

  4. sas sql中有类似mysql的 g_SAS中的SQL

    自我愚见,望有错指出改之. /*SQL 学习*/ /*数据定义语言(DDL):create.drop.alter*/ /*数据操作语言(DML):insert.update.delete*/ /*数据 ...

  5. sas sql中有类似mysql的格式_[转载][Base SAS] SAS SQL语句函数

    AVG (平均) COUNT (计数) MAX (最大值) MIN (最小值) SUM (总合) 运用函数的语法是: SELECT "函数名"("栏位名") F ...

  6. 面试官写了个双冒号::问我这是什么语法?Java中有这玩意?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来自:今日头条,作者:Java实用技术 链接:https: ...

  7. php mysql sql mode_Mysql之SQL Mode用法详解_MySQL

    一.Mysql SQL Mode简介 通常来说MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器操作进行量身定制以满足自己的需求.这 ...

  8. sql sever avg保留小数_《数据库系统概念》笔记 (一)SQL

    SQL即结构化查询语言,这里主要介绍一下SQL的相关语法. 数据定义 SQL支持数据类型主要包括 char(n), 定长字符串 varchar(n), 可变长字符串,指定最大长度 int smalli ...

  9. SQL 进阶技巧(上)

    由于工作需要,最近做了很多 BI 取数的工作,需要用到一些比较高级的 SQL 技巧,总结了一下工作中用到的一些比较骚的进阶技巧,特此记录一下,以方便自己查阅,主要目录如下: SQL 的书写规范 SQL ...

  10. MySQL SQL模式(Mode)

    MySQL服务器能够工作在不同的SQL模式下,并能够针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器进行量身定制以满足自己的需求.这类模式定义了MySQL应支持的SQL语法,以及应 ...

最新文章

  1. Android 开发利用wifi调试
  2. type torch.cuda.FloatTensor but found type torch.cuda.ByteTensor
  3. linux内核网络协议栈--linux协议栈调用流程(七)
  4. Matlab中存储及读取数据
  5. kafka for mac安装
  6. springboot启动时An attempt was made to call a method that does not exist
  7. XStream转换Java对象与XML
  8. 接口隔离原则原理讲解-coding
  9. 将字符转换成数字(atoi),将数字转换成字符(itoa)
  10. js for in 获得遍历数组索引和对象属性
  11. Jeecg入门篇,高手掠过
  12. Python基础(函数)
  13. java 虚拟机内存不足_JAVA虚拟机内存不够解决办法
  14. 公司对员工意见和建议的回复
  15. 职场五大能力之学习能力
  16. linux系统下日志切割
  17. 看到自己的体检报告,小灰瑟瑟发抖
  18. CTF-MISC文件隐写总结(图片,音频,视频,压缩包等文件)
  19. 国内有哪些云服务器比较靠谱?
  20. python正则表达式(2)

热门文章

  1. java 调用tomcat api,tomcat处理http请求-下
  2. css改火狐滚动条样式_自定义滚动条,可解决火狐滚动条默认样式修改不了问题...
  3. 论文阅读笔记(十四)——基于大比例圈养大熊猫图像的大熊猫识别研究
  4. 深度学习笔记(四)——ResNet模型学习与复现
  5. 计算机SCI期刊征稿 | 影响因子最高10+,一区,毕业/评职称不要错过!
  6. 堆内存与栈内存能不能共享,不能,,通俗的比较,堆主要用来存放对象的,栈主要是用来执行程序的...
  7. 深入浅出MVC框架模式
  8. Arcgis Android API开发之离线地图
  9. 深度强化学习- 最全深度强化学习资料
  10. 基于粒子群优化算法的移动机器人全局路径规划-附代码