sql新感悟(where 1 = 1)
花了好久把YII框架看完发现一本很不错的书:SQL案例解析(清华大学出版社),看到一些比较有用的东西,感觉应该把他记录下来,看了好多页发现书中一直有 where 1=1,这样的语句,查过发现“where 1=1 ”表示一直为真的情况,但是当要查询的的结果中需要判断如下
sql = "select * from tb_user where 1=1";
if (!name=" ") {
sql=sql+“and name=“+name;
}
这是,和没有where 1= 1相比时可以省去每次都添加的“where”关键字。
另外,我还发现了 where 1 = 0 ,如 create table tb_manager as select * from tb_user where 1=0; 表明,tb_manager复制表tb_user的结构,而不复制表的内容。