撰寫SQL字串時使用WHERE 1=1
有什麼用途?
由於WHERE 1 = 1
的結果為true
,因此在撰寫時可以忽略第一個條件,
寫出動態的SQL查詢(Dynamic SQL Query),
範例:
SELECT *
FROM employees
WHERE 1=1
AND department_id = 3
AND salary > 50000;
如果有新的查詢條件只需要加上AND XXXXXXXX
即可,不需要就註解掉,
這種方法在開發、維護、判讀較為友善,
如果再開發API加入條件的判斷,撰寫時也較為容易,
範例:
sql += "SELECT * ";
sql += "FROM employees ";
sql += "WHERE 1=1 ";
if(條件1)
sql += "AND department_id = 3 ";
else if(條件2)
sql += "salary > 50000 ";
......
以上為個人的學習心得,如有內容有錯誤歡迎指正與交流~
-,- 亂教一通
"WHERE" + "AND".join([Array of conditions])
為何亂教一通??
難道參考的資料是錯誤的嗎??
個人見解 1=1 是為了後面的 and / or 而存在的
我覺得不是錯誤