• sql 为什么要用where 1=1?


    之前一直不太明白,sql语句里为什么要写where 1=1

    提升某种执行效率?

    其实,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以。

    这个1=1常用于应用程序根据用户选择项的不同拼凑where条件时用的。

    如:web界面查询用户的信息,where默认为1=1,这样用户即使不选择任何条件,sql查询也不会出错。如果用户选择了姓名,那么where变成了where 1=1 and 姓名='用户输入的姓名',如果还选择了其他的条件,就不断在where 条件后追加 and语句就行了。

    如果不用1=1的话,每加一个条件,都要判断前面有没有where 条件,如果没有就写where ...,有就写and语句,因此此时用1=1可以简化了应用程序的复杂度。

    # 例如

    异常情况

        // 没有 1 = 1
        SQL:select * from TABLE;
        SQL:select * from TABLE and XZQBM= '430200';
    	
        // 含有 1 = 1 
        SQL:select * from TABLE WHERE 1 = 1;
        SQL:select * from TABLE WHERE 1 = 1 and XZQBM= '430200';
    

      

  • 相关阅读:
    eclipse中创建完整的maven项目
    Nginx+tomcat配置集群负载均衡
    Git的安装与使用
    Angularjs checkbox的ng属性
    chrome渲染hover状态tranform相邻元素抖动bug
    nodejs创建express+ejs项目
    ubuntu常用命令
    ubuntu查看命令
    sublime text2卸载和重新安装
    fiddler代理
  • 原文地址:https://www.cnblogs.com/zhangchs/p/11592733.html
Copyright © 2020-2023  润新知