Question

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

Option 2 : SELECT name FROM Emp e WHERE sal > (SELECT AVG(sal) FROM Emp WHERE dept = e.dept)

Advertisement

Detailed Solution

सही उत्तर SELECT name FROM Emp e WHERE sal > (SELECT AVG(sal) FROM Emp WHERE dept = e.dept) है।

Key Points
Helpful?
PrepSnapprepsnap.in • Part -A

Question:

Which query returns the names of employees who earn more than the average salary of their own department? / कौन-सी क्वेरी उन कर्मचारियों के नाम लौटाती है जो अपने विभाग के औसत वेतन से अधिक कमाते हैं?

1.
SELECT name, AVG(sal) FROM Emp GROUP BY dept HAVING sal > AVG(sal)
2.
SELECT name FROM Emp e WHERE sal > (SELECT AVG(sal) FROM Emp WHERE dept = e.dept)
3.
SELECT name FROM Emp e WHERE sal > AVG(sal) GROUP BY dept
4.
SELECT name FROM Emp WHERE sal > (SELECT AVG(sal) FROM Emp)

Correct Answer: SELECT name FROM Emp e WHERE sal > (SELECT AVG(sal) FROM Emp WHERE dept = e.dept)

The subquery must be correlated on department so each employee is compared with the average of their own department, not the company-wide average. / उपक्वेरी विभाग से सहसंबंधित होनी चाहिए ताकि प्रत्येक कर्मचारी की तुलना अपने विभाग के औसत से हो, न कि समग्र औसत से।

Downloaded from PrepSnap (prepsnap.in)