2016-07-24 62 views
-2

使用下面 http://i.imgur.com/rIMgFZC.png我的sql查询是否正确?

表中检索谁具有相同的E_level值垫大卫和也以相同的店作为垫大卫工作的员工的名字。

SELECT E_fname,E_lname 
FROM Employee E, 
(SELECT E_Level 
FROM Employee E 
WHERE UPPER(E.E_lname) = ‘DAVID’ 
AND UPPER(E.Efname) = ‘MAT’) elevel, 
(SELECT E_Store_ID 
FROM Employee E 
WHERE UPPER(E.E_lname) = ‘DAVID’ 
AND UPPER(E.Efname) = ‘MAT’ 
) estoreid 
WHERE E.E_level = elevel.E_level 
AND E.Store_ID = estoreid.Store_ID 
AND UPPER(E.E_lname) != ‘DAVID’ 
AND UPPER(E.Efname) != ‘MAT’; 



SELECT E_fname,E_lname 
FROM EMPLOYEE E 
WHERE E.E_level = 
(SELECT E_level 
FROM Employee E 
WHERE UPPER(E.E_lname) = ‘DAVID’ 
AND UPPER(E.Efname) = ‘MAT’) 
AND E.E_Store_ID = 
(SELECT E_Store_ID 
FROM Employee E 
WHERE UPPER(E.E_lname) = ‘DAVID’ 
AND UPPER(E.Efname) = ‘MAT’) 
AND UPPER(E.E_lname) != ‘DAVID’ 
AND UPPER(E.Efname) != ‘MAT’; 

这些是我的尝试。我对么?

回答

0
SELECT E_fname,E_lname 
    FROM Employee E 
    WHERE E_level = (SELECT E_Level 
         FROM Employee E 
         WHERE UPPER(E.E_lname) = 'DAVID' 
          AND UPPER(E.E_fname) = 'MAT') 
     AND E_store_ID = (SELECT E_Store_ID 
         FROM Employee E 
          WHERE UPPER(E.E_lname) = 'DAVID' 
          AND UPPER(E.E_fname) = 'MAT' 
         ) 
     AND UPPER(E.E_lname) != 'DAVID' 
     AND UPPER(E.E_fname) != 'MAT';