sql 語句中where 1=1的作用

where 1=1;有什麼用?在SQL語言中,這個條件始終爲True,寫這一句話就跟沒寫一樣。select * from table where 1=1與select * from table完全沒有區別,其目的就是使 where 的條件永遠爲true,得到的結果就是未加約束條件的結果。
在查詢條件數量不確定的條件情況下,使用 where 1=1可以很方便的規範語句。例如一個查詢中可能有name,age,height,weight等不確定數量的約束條件,那麼使用
String sql="select * from table where 1=1";
if(!name.equals("")){
sql=sql+"and/or name='"+name+"'";
}
if(!age.equals("")){
sql=sql+"and/or age'"+age+"'";
}
if(!height.equals("")){
sql=sql+"and/or height='"+height+"'";
}
if(!weight.equals("")){
sql=sql+"and/or weight='"+weight+"'";
}

如果不寫1=1,那麼在每一個不爲空的查詢條件面前,都必須判斷有沒有where字句,哪裏該加where,哪裏該加and/or
用上 where 1=1 之後,就不存在這樣的問題, 條件是 and 就直接and ,是or就直接接 or

完全複製表 
create   table_name   as   select   *   from   Source_table   where   1=1; 

複製表結構 
create   table_name   as   select   *   from   Source_table   where   1=0;
--------------------- 
作者:xcliang9418 
來源:CSDN 
原文:https://blog.csdn.net/xcliang9418/article/details/79146114 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章