在以下的SQL語句中的while 1 1是什麼意思,什麼時候用

時間 2022-02-25 19:35:12

1樓:匿名使用者

while 1=1

意思就是說當1=1時,條件成立,就一直迴圈that is to say,

相當於死迴圈

sql語句中where 1=1是什麼意思

2樓:匿名使用者

where 1=1是sql語句條件邏輯判斷表示式,由於1=1成立,恒為真,該表示式1=1將始終返回"真"。這種寫法實際目的是為了獲取邏輯值"true",其實諸如2=2, 1+2=3,'中'='中'等之類的寫法都可以返回邏輯值"true",只不過1=1的運算開銷更小,故被應用的最普遍。

下面例子將有助於理解有關概念:

1) select * from t1 where 1=1;

-- 實際等效於select * from t1 where true;

-- 語句將返回t1中所有的記錄行

2) select * from t1 where 1<>1;

-- 實際等效於 select * from t1 where false;

-- 語句將返回空記錄集

說明,例1)實際上等同於不加任何篩選條件,有些畫蛇添足,where 1=1的實際意義不如where 1<>1來得有用,當我們只需要獲取表的字段(結構)資訊,而不需要理會實際儲存的記錄時,例2)的寫法將是非常可去取的,因為系統僅會讀取結構資訊,而不會將具體的表記錄讀入記憶體中,這無疑節省了系統開銷。

下面 sql 中 where 1=1 是什麼意思? 勞煩詳細解釋. **如下:

3樓:陽光的雷咩咩

有點像sql注入。

--------更新------

因為看到另乙個回答沒追答,我代為補充:

比如設計多條件查詢介面,使用者選擇列名和值,有點類似**查詢。

後台拼接sql就會這樣(因為你沒說語言,所以我只用偽**):

string sql = "select * from tablename where 1 = 1 "

for i = 1 to user selected columns count

sql += "and columnnames[i] like '%value[i]%'"

所以1=1起到讓後面的and的語法合法的作用。

4樓:擾龍星劍

它和select * form test o where o.testname like '%張%' and o.testremark like'%三%' 沒什麼區別,不過有些情況下有用,比如在不定數量查詢條件情況下,1=1可以很方便的規範語句

sql語句中的符號是什麼意思,sql 語句中 符號是什麼意思?

以下希望對你有所幫助。儘管宣告字串常量的標準方法通常都很方便,但是如果字串包含很多單引號或者反斜槓,那麼理解字串的內容可能就會變得很苦澀,因為每個單引號都要加倍。為了讓這種場合下的查詢更具可讀性,postgresql 允許另外一種稱作 美元符包圍 的字串常量宣告辦法。一個通過美元符包圍宣告的字串常量...

解釋sql語句中的不等於,解釋SQL語句中的“不等於”

erp小 sql中有兩種方式表示不等於,一種是 不含引號 另一種是 不含引號 用法是一樣的。1 建立測試表,插入資料 create table test id int,name varchar 10 insert into test values 1,張三 insert into test valu...

sql語句中的full join具體是怎麼回事啊?

簡單明瞭地說,外連線分三種,即左連線 left outer join 右連線 right outer join 全連線 full outer join 下面就簡單解析一下,假設有a和b兩張表。left outer join b表示把a表的記錄都顯示出來,把b表符合條件的結果集顯示出來,不符合條件的用...