Question

1.
2.
3.
4.
Answer (Detailed Solution Below)

Option 4 : SELECT EName FROM Emp E WHERE Salary > (SELECT AVG(Salary) FROM Emp WHERE DeptId = E.DeptId) / SELECT EName FROM Emp E WHERE Salary > (SELECT AVG(Salary) FROM Emp WHERE DeptId = E.DeptId)

Advertisement

Detailed Solution

सही उत्तर SELECT EName FROM Emp E WHERE Salary > (SELECT AVG(Salary) FROM Emp WHERE DeptId = E.DeptId) / SELECT EName FROM Emp E WHERE Salary > (SELECT AVG(Salary) FROM Emp WHERE DeptId = E.DeptId) है।

Key Points
Helpful?
PrepSnapprepsnap.in • Part -A

Question:

Which query finds employees earning more than the average salary of their OWN department? / कौन-सी क्वेरी उन कर्मचारियों को खोजती है जो अपने ही विभाग के औसत वेतन से अधिक कमाते हैं?

1.
SELECT EName FROM Emp WHERE Salary > (SELECT AVG(Salary) FROM Emp) / SELECT EName FROM Emp WHERE Salary > (SELECT AVG(Salary) FROM Emp)
2.
SELECT EName FROM Emp GROUP BY DeptId HAVING Salary > AVG(Salary) / SELECT EName FROM Emp GROUP BY DeptId HAVING Salary > AVG(Salary)
3.
SELECT EName FROM Emp WHERE Salary > AVG(Salary) GROUP BY DeptId / SELECT EName FROM Emp WHERE Salary > AVG(Salary) GROUP BY DeptId
4.
SELECT EName FROM Emp E WHERE Salary > (SELECT AVG(Salary) FROM Emp WHERE DeptId = E.DeptId) / SELECT EName FROM Emp E WHERE Salary > (SELECT AVG(Salary) FROM Emp WHERE DeptId = E.DeptId)

Correct Answer: SELECT EName FROM Emp E WHERE Salary > (SELECT AVG(Salary) FROM Emp WHERE DeptId = E.DeptId) / SELECT EName FROM Emp E WHERE Salary > (SELECT AVG(Salary) FROM Emp WHERE DeptId = E.DeptId)

The average must be computed per department, which needs the subquery correlated to the outer row's DeptId; the uncorrelated version compares against the company-wide average instead. / औसत प्रति विभाग निकालना होगा, जिसके लिए उपक्वेरी बाहरी पंक्ति के DeptId से सहसंबद्ध होनी चाहिए; असहसंबद्ध संस्करण कंपनी-व्यापी औसत से तुलना करता है।

Downloaded from PrepSnap (prepsnap.in)