where 1=1 是什么鬼?SQL中有这玩意?
这段代码应该是由程序(例如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中有这玩意?相关推荐
- mysql测试什么鬼,where 1=1 是什么鬼?SQL中有这玩意?
这段代码应该是由程序(例如Java)中生成的,where条件中 1=1 之后的条件是通过 if 块动态变化的.例如: String sql="select * from table_name ...
- sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错...
sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错 转载于:https://www.cnblogs.com/w123w/p/10673692.html
- mybatis sql中有中文处理
2019独角兽企业重金招聘Python工程师标准>>> 今天在mybatis sqlMapper里面写了如下sql: select decode(t1.type,1,'出',2,'入 ...
- sas sql中有类似mysql的 g_SAS中的SQL
自我愚见,望有错指出改之. /*SQL 学习*/ /*数据定义语言(DDL):create.drop.alter*/ /*数据操作语言(DML):insert.update.delete*/ /*数据 ...
- sas sql中有类似mysql的格式_[转载][Base SAS] SAS SQL语句函数
AVG (平均) COUNT (计数) MAX (最大值) MIN (最小值) SUM (总合) 运用函数的语法是: SELECT "函数名"("栏位名") F ...
- 面试官写了个双冒号::问我这是什么语法?Java中有这玩意?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来自:今日头条,作者:Java实用技术 链接:https: ...
- php mysql sql mode_Mysql之SQL Mode用法详解_MySQL
一.Mysql SQL Mode简介 通常来说MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器操作进行量身定制以满足自己的需求.这 ...
- sql sever avg保留小数_《数据库系统概念》笔记 (一)SQL
SQL即结构化查询语言,这里主要介绍一下SQL的相关语法. 数据定义 SQL支持数据类型主要包括 char(n), 定长字符串 varchar(n), 可变长字符串,指定最大长度 int smalli ...
- SQL 进阶技巧(上)
由于工作需要,最近做了很多 BI 取数的工作,需要用到一些比较高级的 SQL 技巧,总结了一下工作中用到的一些比较骚的进阶技巧,特此记录一下,以方便自己查阅,主要目录如下: SQL 的书写规范 SQL ...
- MySQL SQL模式(Mode)
MySQL服务器能够工作在不同的SQL模式下,并能够针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器进行量身定制以满足自己的需求.这类模式定义了MySQL应支持的SQL语法,以及应 ...
最新文章
- Android 开发利用wifi调试
- type torch.cuda.FloatTensor but found type torch.cuda.ByteTensor
- linux内核网络协议栈--linux协议栈调用流程(七)
- Matlab中存储及读取数据
- kafka for mac安装
- springboot启动时An attempt was made to call a method that does not exist
- XStream转换Java对象与XML
- 接口隔离原则原理讲解-coding
- 将字符转换成数字(atoi),将数字转换成字符(itoa)
- js for in 获得遍历数组索引和对象属性
- Jeecg入门篇,高手掠过
- Python基础(函数)
- java 虚拟机内存不足_JAVA虚拟机内存不够解决办法
- 公司对员工意见和建议的回复
- 职场五大能力之学习能力
- linux系统下日志切割
- 看到自己的体检报告,小灰瑟瑟发抖
- CTF-MISC文件隐写总结(图片,音频,视频,压缩包等文件)
- 国内有哪些云服务器比较靠谱?
- python正则表达式(2)
热门文章
- java 调用tomcat api,tomcat处理http请求-下
- css改火狐滚动条样式_自定义滚动条,可解决火狐滚动条默认样式修改不了问题...
- 论文阅读笔记(十四)——基于大比例圈养大熊猫图像的大熊猫识别研究
- 深度学习笔记(四)——ResNet模型学习与复现
- 计算机SCI期刊征稿 | 影响因子最高10+,一区,毕业/评职称不要错过!
- 堆内存与栈内存能不能共享,不能,,通俗的比较,堆主要用来存放对象的,栈主要是用来执行程序的...
- 深入浅出MVC框架模式
- Arcgis Android API开发之离线地图
- 深度强化学习- 最全深度强化学习资料
- 基于粒子群优化算法的移动机器人全局路径规划-附代码