2016-08-24 3 views
-2

우리는 모든 직원과 그 고용 일자를 알아서 hire_date가 'Davies'직원의 고용 날짜보다 큼을 찾고 싶습니다. 어떻게 두 쿼리가 서로 비교되는지 시간과 공간의 복잡성?SQL 쿼리의 시간과 공간 복잡성

SELECT e.last_name, e.hire_date 
FROM employees e 
JOIN employees davies ON (davies.last_name = 'Davies') 
WHERE davies.hire_date < e.hire_date; 

SELECT e.last_name, e.hire_date 
FROM employees e 
JOIN employees davies ON (davies.hire_date < e.hire_date) 
WHERE davies.last_name = 'Davies'; 
+0

을 찾고 있습니다? 우리는 데이터베이스에 액세스 할 수 없습니다 .... – patricksweeney

+0

물론 인덱스에 따라 다릅니다. 두 쿼리에 대해 적절한 인덱스가 있다고 가정 할 수 있습니까? –

+0

대부분의 최적화 최적화 프로그램에서는 두 번째 조건이 첫 번째 조건과 동시에 평가되므로 (문장이 의미 상 동등하므로) 동일한 것입니다. 어쨌든 두 조건을 모두 'ON'문에 넣어야합니다. –

답변

0

당신은 당신이 그들을 실행하고 비교 할 수 없습니다이

SELECT e.last_name, e.hire_date 
FROM employees e 
WHERE e.hire_date > (SELECT TOP (1) hire_date FROM employees WHERE last_name = 'Davies')