Question

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

Option 2 : HAVING filters groups after aggregation, while WHERE filters rows before grouping / HAVING समूहीकरण के बाद समूहों को छाँटता है, जबकि WHERE समूहीकरण से पहले पंक्तियों को छाँटता है

Advertisement

Detailed Solution

सही उत्तर HAVING filters groups after aggregation, while WHERE filters rows before grouping / HAVING समूहीकरण के बाद समूहों को छाँटता है, जबकि WHERE समूहीकरण से पहले पंक्तियों को छाँटता है है।

Key Points
Helpful?
PrepSnapprepsnap.in • Part -A

Question:

Consider the query: SELECT Dept, AVG(Salary) FROM Emp GROUP BY Dept HAVING AVG(Salary) > 60000; Which statement about this query is TRUE? / इस क्वेरी पर विचार करें: SELECT Dept, AVG(Salary) FROM Emp GROUP BY Dept HAVING AVG(Salary) > 60000; इस क्वेरी के बारे में कौन-सा कथन सत्य है?

1.
WHERE could replace HAVING here and give identical results / WHERE यहाँ HAVING की जगह लेकर समान परिणाम देगा
2.
HAVING filters groups after aggregation, while WHERE filters rows before grouping / HAVING समूहीकरण के बाद समूहों को छाँटता है, जबकि WHERE समूहीकरण से पहले पंक्तियों को छाँटता है
3.
The query returns one row per employee / यह क्वेरी प्रत्येक कर्मचारी के लिए एक पंक्ति लौटाती है
4.
Aggregate functions cannot appear in the HAVING clause / समुच्चय फंक्शन HAVING क्लॉज़ में नहीं आ सकते

Correct Answer: HAVING filters groups after aggregation, while WHERE filters rows before grouping / HAVING समूहीकरण के बाद समूहों को छाँटता है, जबकि WHERE समूहीकरण से पहले पंक्तियों को छाँटता है

WHERE filters individual rows before GROUP BY forms groups, so it cannot test aggregate values; HAVING filters the groups after aggregation. Hence the two clauses are not interchangeable here. / WHERE, GROUP BY द्वारा समूह बनाने से पहले अलग-अलग पंक्तियों को छाँटता है, इसलिए वह समुच्चय मानों की जाँच नहीं कर सकता; HAVING समूहीकरण के बाद समूहों को छाँटता है। अतः यहाँ दोनों क्लॉज़ परस्पर बदले नहीं जा सकते।

Downloaded from PrepSnap (prepsnap.in)