91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

SQL中where 1=1語句的作用

admin
2011年5月4日 23:48 本文熱度 3715
where 1=1有什么用?在SQL語言中,寫這么一句話就跟沒寫一樣。但是這看似多余的一條語句,卻有其獨特的用處。

select * from table1 where 1=1與select * from table1完全沒有區別,甚至還有其他許多寫法,1<>2,'a'='a','a'<>'b',其目的就只有一個,where的條件為永真,得到的結果就是未加約束條件的。


在SQL注入時會用到這個,例如select * from table1 where name='lala'給強行加上select * from table1 where name='lala' or 1=1這就又變成了無約束的查詢了。


最近發現的妙用在于,在不定數量查詢條件情況下,1=1可以很方便的規范語句。例如一個查詢可能有name,age,height,weight約束,也可能沒有,那該如何處理呢?


String sql=select * from table1 where 1=1


為什么要寫多余的1=1?馬上就知道了。


if(!name.equals("")){
sql=sql+"name='"+name+"'";
}
if(!age.equals("")){
sql=sql+"age'"+age+"'";
}
if(!height.equals("")){
sql=sql+"height='"+height+"'";
}
if(!weight.equals("")){
sql=sql+"weight='"+weight+"'";
}


如果不寫1=1呢,那么在每一個不為空的查詢條件面前,都必須判斷有沒有where字句,否則要在第一個出現的地方加where


今天看到:"SELECT * FROM strName WHERE 1 = 0";
不理解為什么有1=0?


查詢得出答案:


該select語句主要用于讀取表的結構而不考慮表中的數據,這樣節省了內存,因為可以不用保存結果集。


另外,這個用在什么地方呢?主要用于創建一個新表,而新表的結構與查詢的表的結構是一樣的。如下SQL語句:


create table newtable as select * from oldtable where 1=0;


該文章在 2011/5/4 23:48:48 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 青草第一视 | 国产在线观 | 国产在线视频无卡a | 国产在线中文 | 国产精品自在拍在 | 韩剧日剧在线看 | 中文字幕日韩经典 | 欧美日韩一级视频 | 欧美一级a欧美特黄 | 国产拳头 | 九九中文字幕国产 | 成人一区在线播放 | 日本免费a视频 | 91精品在线看 | 国产二区在线播放 | 果冻传媒视频在线 | 日韩一卡二卡3 | 成人欧美一| 99在线视频免费观 | 国产精品私密保养 | 午夜小视频网 | 成人亚洲网站 | 日本免费一区视频 | 国产高清αv | 日本三级午 | 91网址| 日韩一级在线视频 | 噼里啪啦免 | 国产拳头| 成人拍在线观看 | 91同志app| 人妖性喷潮xxxx | 区三区不卡 | 欧美日韩国产精品选 | 成人第一区 | 国产人澡人澡澡澡人 | 国产精品人成 | 变态孕交粗暴 | 国产伦码精品一 | 欧美日韩韩高清在 | 91视频网站 |