2013-02-27 2 views
2

'2와 4 사이의 숫자'와 'num> = 2 및 num < = 4'의 사용상의 차이점을 알고 싶습니다. Oracle, Sybase-ASE 및 MSSQL에 적용됩니다.SQL 대신 '> ='와 '='대신 'between'을 사용하십시오.

순수한 시각적 인 관점에서 "사이"는 나에게 잘 어울립니다. 그러나 성능 및 기타 기술적 인 문제에 대해 더 걱정됩니다. (예를 들어 실행 계획이 달라질 수 있습니다)

'사이에'라는 말은 순전히 화장품 키워드입니까? '및'을 갖지 않으려면 더 많은 것을 제공합니까?

+9

'a와 b와 c 사이 '는'(b <= a와 a <= c)'에 대한 구문 설탕입니다. 편의를 위해서입니다. – Andomar

+0

@SilentByte, 사이의 커버 2와 4. – Kaf

+0

간단한 대답 : 그것은 사용할 수 있기 때문에 적은을 입력해야합니다. – Art

답변

3

때로는 번 이상 작동 더 평가에서 당신을 저장할 수 있습니다 BETWEEN을 사용 : RAND() 한 번만 호출되는 첫 번째 쿼리에서

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 여기 BETWEEN는 당신 저장, 두 번 호출됩니다 두 번째 함수 호출 RAND.

SQL 쿼리에서 가독성을 위해 무언가가 있습니다. 쿼리는 으로 크게이 될 수 있으며 BETWEEN과 같은 기능을 사용하면이 기능을 향상시킬 수 있습니다.

1

데이터베이스 최적화 된 쿼리이며 어느 쪽이든 동일한 성능을 가져야합니다.

즉, 옵티마이 저는 구문 분석 트리를 만들고 두 개는 동일한 실행 계획을 가져야합니다.

관련 문제