SQL 中 where 条件1=1
参考网址:
https://mp.weixin.qq.com/s/1gAD-DzB_gPlZty25vJXew
作用
where 1=1 是为了避免where 关键字后面的第一个词直接就是 “and”而导致语法错误。
当然了这种错误可以通过mybatis的标签可以解决
测试案例
MariaDB [test]> select * from demo;
+------+-------+
| id | name |
+------+-------+
| 1 | root |
| 2 | root2 |
| 3 | NULL |
+------+-------+
3 rows in set (0.163 sec)
MariaDB [test]> select * from demo where 1 = 1;
+------+-------+
| id | name |
+------+-------+
| 1 | root |
| 2 | root2 |
| 3 | NULL |
+------+-------+
3 rows in set (0.023 sec)
MariaDB [test]> select * from demo where 1 = 2;
Empty set (0.000 sec)
MariaDB [test]> select * from demo where 1 <> 1;
Empty set (0.103 sec)
说明:
其中
不加where条件和where 1=1是等价的
where 1<>1 和 where 1 = 2(不等于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;
END