我想了解使用'where num between 2 and 4'和'where num> = 2且num < = 4'的差異,因爲它適用於Oracle,Sybase-ASE和MSSQL。SQL爲什麼要使用'between'而不是'> =和<='
從純粹的視覺角度來看,「之間」對我來說更好看。 但是我更擔心性能和其他技術問題。 (例如執行計劃有可能會有所不同)
是'介於'一個純粹的化妝品關鍵字?避免使用'和',還是提供更多的東西?
我想了解使用'where num between 2 and 4'和'where num> = 2且num < = 4'的差異,因爲它適用於Oracle,Sybase-ASE和MSSQL。SQL爲什麼要使用'between'而不是'> =和<='
從純粹的視覺角度來看,「之間」對我來說更好看。 但是我更擔心性能和其他技術問題。 (例如執行計劃有可能會有所不同)
是'介於'一個純粹的化妝品關鍵字?避免使用'和',還是提供更多的東西?
有時使用BETWEEN
可以從評估的操作不止一次拯救你:
SELECT AVG(RAND(20091225) BETWEEN 0.2 AND 0.4)
FROM t_source;
---
0.1998
SELECT AVG(RAND(20091225) >= 0.2 AND RAND(20091225) <= 0.4)
FROM t_source;
---
0.3199
在第一個查詢RAND()
只叫一次,但在第二個查詢RAND
被調用了兩次,這裏BETWEEN
爲您節省了第二個函數調用RAND
。
也有一些在SQL查詢可讀性可說的,查詢可以成爲大規模,像BETWEEN
幫助功能改善這一點。
數據庫優化了查詢,並且應該具有相同的性能。
也就是說,優化器將創建一個分析樹,兩者應該有相同的執行計劃。
b和c之間的'a是語法糖('b <= a和a <= c)'。這只是爲了方便。 – Andomar 2013-02-27 17:35:52
@SilentByte,介於2和4之間。 – Kaf 2013-02-27 17:36:07
簡單的答案:因爲它是可用的並且您必須輸入較少。 – Art 2013-02-27 17:36:51