為什麼要用where 1 1?

2022-02-09 12:16:02 字數 406 閱讀 5270

之前一直不太明白,sql語句裡為什麼要寫where 1=1 巴拉巴拉巴拉

提公升某種執行效率?

其實,1=1 是永恆成立的,意思無條件的,也就是說在sql語句中有沒有這個1=1都可以。

這個1=1常用於應用程式根據使用者選擇項的不同拼湊where條件時用的。

如:web介面查詢使用者的資訊,where預設為1=1,這樣使用者即使不選擇任何條件,sql查詢也不會出錯。如果使用者選擇了姓名,那麼where變成了where 1=1 and 姓名='使用者輸入的姓名',如果還選擇了其他的條件,就不斷在where 條件後追加 and語句就行了。

如果不用1=1的話,每加乙個條件,都要判斷前面有沒有where 條件,如果沒有就寫where ...,有就寫and語句,因此此時用1=1可以簡化了應用程式的複雜度。

為什麼SQl語句裡面要用where 1 1

sql查詢時通常會使用一下語句 select from finance.finance records l where l.status 1 limit 20 select from finance.finance records l where 1 1 and l.status 1 limit 2...

T SQL中WHERE 1 1的作用

1 1或者 a a 等等恒等式是t sql中表達true的方法。因為在t sql中沒有true這樣的關鍵字或值,所以需要借助這些恒等式來表達true的概念。相對的,同樣可以使用1 1或者1 2等來表達false。在應用程式的安全性方面,使用這些式子是sql注入的基本原理,所以在拼接sql語句的時候要...

SQL中WHERE 1 1的作用

個人認為這篇文章寫的非常好,用例子把道理說的非常明白,所以轉了,希望對大家有所幫助。1 1或者 a a 等等恒等式是t sql中表達true的方法。因為在t sql中沒有true這樣的關鍵字或值,所以需要借助這些恒等式來表達true的概念。相對的,同樣可以使用1 1或者1 2等來表達false。在應...