2016-08-24 62 views
-2

我們希望找出所有員工及其僱用日期,使其hire_date大於僱員名爲'戴維斯'的僱用日期。這兩個問題如何相互比較時間和空間的複雜性?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')