日期:2014-05-17  浏览次数:21053 次

一个sql语句问题
有一代码:
      select   *   from   cc   where   1=1
显然表cc中没有1这列,请问这一查询语句为什么加where   1=1
,主要作用??

------解决方案--------------------
为了后面的语句用的,很多时候你后面的查询条件可能有的不成立但是后面的成立,如果没有这个1=1,后面的 "and 字段=条件 " 就跟前面的 " select * from table where "连接不上

举个例子就明白了:
sql= "select * from tableName where "
if 1> 2 then '假设该条件不成立
sql=sql& " and 字段=条件 "
end if
if 3> 2 then '假设该条件成立
sql=sql& " and 字段=条件 "
end if
经过这个判断后,sql连接起来:sql= "select * from tableName where and 字段=条件 "
注意看where 和 and之间,是没有任何条件的,这显然是错误的,而如果在where后面加了一个 "1=1 "的话,那就能很顺利的连接起来:sql= "select * from tableName where 1=1 and 字段=条件 "
而且1=1是几乎不影响查询速度的