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?
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)