SQL where 1=1 和0=1的作用
where 1=1; 這個條件始終為True,在不定數量查詢條件情況下,1=1可以很友善的規範語句。
舉個例子,如果您做查詢頁面,讓使用者自行選擇并輸入查詢關鍵詞,代碼大體如下:
string MySqlStr=”select * from table where”;
if(Age.Text.Lenght>0) {
MySqlStr=MySqlStr+“Age=“+“'Age.Text'“;
}if(Address.Text.Lenght>0){
MySqlStr=MySqlStr+“and Address=“+“'Address.Text'“;
}
如果上述的兩個IF判斷語句不成立,那麼,最終的MySqlStr動态構造語句變為: MySqlStr=”select * from table where“ 該語句就是一條錯誤的語句 。
where 1=0; 這個條件始終為false,結果不會傳回任何資料,隻有表結構,可用于快速建表 "SELECT * FROM strName WHERE 1 = 0"; 該select語句主要用于讀取表的結構而不考慮表中的資料,這樣節省了記憶體,因為可以不用儲存結果 集。 create table newtable as select * from oldtable where 1=0; 建立一個新表,而新表的結構與查詢的表的結構是一樣的。