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

    文章

    737

    浏览量

    43449
  • 代码
    +关注

    关注

    30

    文章

    4553

    浏览量

    66665
收藏 人收藏

    评论

    相关推荐

    SQL改写消除相关子查询实践

    GaussDB (DWS) 根据子查询在 SQL 语句中的位置把子查询分成了子查询、子链接两种形式。
    的头像 发表于 12-27 09:51 170次阅读

    oracle执行sql查询语句的步骤是什么

    Oracle数据库是一种常用的关系型数据库管理系统,具有强大的SQL查询功能。Oracle执行SQL查询语句的步骤包括编写SQL语句、解析
    的头像 发表于 12-06 10:49 386次阅读

    oracle sql 定义变量并赋值

    在Oracle SQL中,变量是用来存储数据值的标识符。通过定义和使用变量,我们可以在SQL语句中使用它们来存储和处理数据,从而实现更灵活和动态的查询和操作。 在Oracle SQL
    的头像 发表于 12-06 10:46 670次阅读

    sql语句多个条件怎么连接

    SQL语句中使用了两个条件,age >= 25表示年龄大于等于25,age OR运算符用于满足多个条件中的至少一个条件的情况。例如,
    的头像 发表于 11-23 11:34 946次阅读

    sqlwhere条件多个and顺序

    SQL中,WHERE子句用于过滤查询结果以提供符合特定条件的记录。当有多个AND操作符时,WHERE子句的顺序并不会影响查询结果,但是正确的AND操作符顺序可以提高查询的可读性和性能
    的头像 发表于 11-23 11:33 1823次阅读

    sql where条件的执行顺序

    SQL语句中WHERE条件是用来筛选数据的,它决定了哪些数据会被返回给用户。WHERE条件的执
    的头像 发表于 11-23 11:31 989次阅读

    sql怎么在where条件判断

    SQL中,WHERE条件用于筛选符合特定条件的记录。它提供了一种在查询中过滤数据的方法,使您能够根据所需的特定条件对查询结果进行更精确的控
    的头像 发表于 11-23 11:30 832次阅读

    sql语句where条件查询

    的细节,包括使用的操作符、条件的组合、多张表的查询、条件的性能优化等方面。 首先,让我们了解一下WHERE句中常用的操作符。在SQL中,常
    的头像 发表于 11-23 11:28 465次阅读

    sql语句中having的用法

    SQL语句中,HAVING是一个用于对GROUP BY子句的结果进行过滤和限制的子句。它类似于WHERE子句,但作用于聚合函数的结果而不是单独的行。HAVING子句通常用于对聚合函数的结果进行
    的头像 发表于 11-23 11:23 891次阅读

    python if语句多个条件怎么用

    在Python中,可以使用多个条件来编写if语句。这些条件可以使用逻辑运算符进行组合,包括and、or和not。 当if语句中有多个条件时,
    的头像 发表于 11-21 16:45 959次阅读

    insert后面可以跟where

    可以,"INSERT"语句可以与"WHERE"子句一起使用。"INSERT"语句用于向数据库表中插入新的行,而"WHERE"子句用于指定插入行的条件
    的头像 发表于 11-21 14:20 2882次阅读

    oracle更新clob字段sql语句

    表名 SET CLOB字段 = '新的文本' WHERE 条件; 其中,"表名"是要更新的表的名称,"CLOB字段"是要更新的CLOB字段的名称,"新的文本"是要更新的新文本内容,"条件"是用于指定
    的头像 发表于 11-21 11:29 2010次阅读

    sql查询语句大全及实例

    的不同类型及其实例。 SELECT语句 SELECT语句SQL中最常用的查询语句。它用于从表中选择数据,并可以使用不同的条件进行筛选。下面
    的头像 发表于 11-17 15:06 625次阅读

    考虑x和z在verilog条件语句中的使用情况

    首先,考虑x和z在verilog条件语句中的使用情况,然后我们再考虑在verilog中用x和z给其他reg/wire赋值的情况。
    的头像 发表于 11-02 09:40 597次阅读
    考虑x和z在verilog<b class='flag-5'>条件</b><b class='flag-5'>语句中</b>的使用情况

    SAS运算符in在宏语句中的应用

    前面通过对SAS Base的学习,我想大家对in运算符并不陌生,它广泛的应用于数据步或SQL条件语句中,进行条件判断或数据筛选,进而访问特定观测值。
    的头像 发表于 05-19 14:38 1402次阅读
    SAS运算符in在宏<b class='flag-5'>语句中</b>的应用