• 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';
    

      

  • 相关阅读:
    linux开启oracle服务
    一个tomcat多域名绑定多项目
    linux安装jdk1.7.0
    windows 查看端口进程和杀死进程
    windows2008 扩大远程连接数
    windows下用bak文件备份数据库
    linux常用命令
    mysql 开启远程连接访问
    windows 下tomcat安装
    IBM公司面试题
  • 原文地址:https://www.cnblogs.com/zhangchs/p/11592733.html
Copyright © 2020-2023  润新知