oracle中的 where 1=1 和 where1<>1

1=1 永真, 1<>1 永假。

1<>1 的用处: 用于只取结构不取数据的场合
例如:

create table table_ly_temp tablespace ly_temp as
select * from table_ly where 1<>1

1
2

建成一个与table_ly 结构相同的表table_ly_temp ,但是不要table_ly 里的数据。(除了表结构,其它结构也同理)

1=1的用处: 用于动态SQL

在组合查询条件时候多用:

String sql="select * from user where 1=1 ";

if(username!=null) sql=sql+ " and username=’"+username+"’";

if(password!=null) sql=sql+ " and password=’"+password+"’";

1
2
3
4
5

这样方便很多,及时username,password两者都为空都可以查询

永远为真 相当于没有限制名称条件。但是如果没有1=1的条件,

select * from user where 会报错

你可能感兴趣的:(Oracle)