0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SQL语句中where条件后为什么要写上1=1

Wildesbeast 来源:今日头条 作者:Java耕耘 2020-02-15 14:51 次阅读

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

    关注

    1

    文章

    775

    浏览量

    44301
  • 代码
    +关注

    关注

    30

    文章

    4841

    浏览量

    69196
收藏 人收藏

    评论

    相关推荐

    浅谈SQL优化小技巧

    作者:京东零售 王军 回顾:MySQL的执行过程回顾 MySQL的执行过程,帮助 介绍 如何进行sql优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回
    的头像 发表于 12-25 09:59 597次阅读

    如何使用SQL进行数据分析

    使用SQL进行数据分析是一个强大且灵活的过程,它涉及从数据库中提取、清洗、转换和聚合数据,以便进行进一步的分析和洞察。 1. 数据提取(Data Extraction) 选择数据源 :确定你要分析
    的头像 发表于 11-19 10:26 470次阅读

    SQL错误代码及解决方案

    SQL数据库开发和管理中,常见的错误代码及其解决方案可以归纳如下: 一、语法错误(Syntax Errors) 错误代码 :无特定代码,但通常会在错误消息中明确指出是语法错误。 原因 :SQL语句中
    的头像 发表于 11-19 10:21 3282次阅读

    常用SQL函数及其用法

    SQL 函数及其用法: 一、聚合函数(Aggregate Functions) 聚合函数对一组值执行计算,并返回单个值。 COUNT() 用途 :返回匹配指定条件的行数。 示例 : SELECT
    的头像 发表于 11-19 10:18 503次阅读

    SQL与NoSQL的区别

    在信息技术领域,数据库是存储和管理数据的核心组件。随着互联网的发展和大数据时代的到来,对数据库的需求也在不断变化。SQL和NoSQL作为两种主流的数据库管理系统,各自有着独特的优势和应用场
    的头像 发表于 11-19 10:15 247次阅读

    技术干货驿站 ▏深入理解C语言:掌握C语言条件判断,从if到switch的应用

    在编程中,条件判断语句是控制程序流程的核心元素之一。它们使得程序能够根据不同的输入和状态,做出相应的决策。特别是在C语言中,条件判断语句的使用极为广泛,涵盖了从简单的if
    的头像 发表于 11-09 01:10 456次阅读
    技术干货驿站 ▏深入理解C语言:掌握C语言<b class='flag-5'>条件</b>判断,从if到switch的应用

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之流程控制

    1条件语句shell语句的流程控制与C语言不一样,流程控制中不能为空。shell中if语法如下,其中confition表示条件判断式,co
    发表于 09-05 09:06

    飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之流程控制

    1条件语句 shell语句的流程控制与C语言不一样,流程控制中不能为空。 shell中if语法如下,其中confition表示条件判断式,
    发表于 09-04 10:12

    HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(十四)

    ) { // 处理异常 } 相关约束 限制throw语句中表达式的类型 本文根据HarmonyOS NEXT Developer Beta1官方公开的开发文档整理而成。
    发表于 08-16 10:20

    IP 地址在 SQL 注入攻击中的作用及防范策略

    SQL 注入是通过将恶意的 SQL 代码插入到输入参数中,欺骗应用程序执行这些恶意代码,从而实现对数据库的非法操作。例如,在一个登录表单中,如果输入的用户名被直接拼接到 SQL 查询语句中
    的头像 发表于 08-05 17:36 391次阅读

    如何限制IPD语句中的最大字节数?

    当数据可用时,我正在使用带有 IP 和 PORT 的扩展 IPD 语句。 我的问题是,如何限制 IPD 语句中的最大字节数? 当我尝试从服务器作为客户端检索数据时,响应包含大约 20k 的数据,在
    发表于 07-17 06:06

    鸿蒙TypeScript入门学习第6天:【条件语句

    条件语句用于基于不同的条件来执行不同的动作。 TypeScript 条件语句是通过一条或多条语句
    的头像 发表于 04-01 13:51 811次阅读
    鸿蒙TypeScript入门学习第6天:【<b class='flag-5'>条件</b><b class='flag-5'>语句</b>】

    SQL全外连接剖析

    SQL中的全外连接是什么? 在SQL中,FULLOUTERJOIN组合左外连接和右外连接的结果,并返回连接子句两侧表中的所有(匹配或不匹配)行。接下面sojson给大家详细讲解。   图解:SQL
    的头像 发表于 03-19 18:28 2321次阅读
    <b class='flag-5'>SQL</b>全外连接剖析

    两个控制器间SPI通信片选使能后为什么要过一段时间才收发数据?

    求助各位大佬,[抱拳]:两个控制器间SPI通信片选使能后为什么要过一段时间才收发数据?收发完数据后为什么过一段时间才拉高片选?如附图示时间段1和时间段2,片选控制设置的是软件模式,手动使能矢能片选
    发表于 03-13 08:13

    assign语句和always语句的用法

    Assign语句和Always语句是在硬件描述语言(HDL)中常用的两种语句,用于对数字电路建模和设计。Assign语句用于连续赋值,而Always
    的头像 发表于 02-22 16:24 2840次阅读