DBMS — MCQ Practice

Hindi aur English dono mein practice karo — click karo answer check karne ke liye.

📚 150 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
150 questions

Question 106

EN + हिं Medium
GB What is the difference between WHERE and HAVING clauses in SQL?
IN SQL में WHERE और HAVING क्लॉज के बीच क्या अंतर है?
They are identical वे समान हैं
WHERE applies to all tables; HAVING applies only to subqueries WHERE सभी तालिकाओं पर लागू होता है; HAVING केवल उपश्रेणियों पर लागू होता है
WHERE filters individual rows BEFORE grouping; HAVING filters groups AFTER GROUP BY and aggregation - HAVING can reference aggregate functions, WHERE cannot जहां समूहीकरण से पहले अलग-अलग पंक्तियों को फ़िल्टर किया जाता है; GROUP BY और एकत्रीकरण के बाद फिल्टर समूहों का होना - HAVING समग्र कार्यों का संदर्भ दे सकता है, जबकि नहीं
WHERE works with aggregate functions; HAVING does not जहां समग्र कार्यों के साथ काम करता है; होना नहीं है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) WHERE: applied before GROUP BY, filters individual rows based on non-aggregated conditions. HAVING: applied after GROUP BY, filters groups based on aggregate function results (COUNT, SUM, AVG, etc.). You CANNOT use aggregate functions in WHERE.
व्याख्या (हिन्दी) कहां: ग्रुप बाय से पहले लागू किया गया, गैर-एकत्रित स्थितियों के आधार पर अलग-अलग पंक्तियों को फ़िल्टर करता है। HAVING: ग्रुप BY के बाद लागू किया गया, समग्र फ़ंक्शन परिणामों (COUNT, SUM, AVG, आदि) के आधार पर समूहों को फ़िल्टर करता है। आप WHERE में समग्र फ़ंक्शंस का उपयोग नहीं कर सकते।
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) के इस प्रश्न को — difficulty level "Medium" कई प्रतियोगी परीक्षाओं जैसे SSC CGL, IBPS, RRB और State-level परीक्षाओं में repeat होते देखा गया है। Concept clarity के लिए explanation section जरूर पढ़ें।

Question 107

EN + हिं Easy
GB What does the SQL clause NULLIF(expr1, expr2) return?
IN SQL क्लॉज NULLIF(expr1, expr2) क्या लौटाता है?
NULL if expr1 is NULL यदि expr1 शून्य है तो शून्य
0 if either expression is NULL 0 यदि कोई भी अभिव्यक्ति शून्य है
expr2 if expr1 is NULL expr2 यदि expr1 शून्य है
NULL if expr1 equals expr2 (returns expr1 otherwise); used to avoid division-by-zero errors: NULLIF(count, 0) returns NULL instead of causing error when count=0 शून्य यदि expr1, expr2 के बराबर है (अन्यथा expr1 लौटाता है); विभाजन-दर-शून्य त्रुटियों से बचने के लिए उपयोग किया जाता है: NULLIF (गिनती, 0) गिनती = 0 होने पर त्रुटि उत्पन्न करने के बजाय NULL लौटाता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) NULLIF(x, y): returns NULL if x=y, otherwise returns x. Common pattern: NULLIF(denominator, 0) to avoid division by zero - if denominator is 0, returns NULL (NULL/anything = NULL, no error). Inverse of COALESCE.
व्याख्या (हिन्दी) NULLIF(x, y): यदि x=y है तो NULL लौटाता है, अन्यथा x लौटाता है। सामान्य पैटर्न: शून्य से विभाजन से बचने के लिए NULLIF( हर, 0) - यदि हर 0 है, तो शून्य लौटाता है (शून्य/कुछ भी = शून्य, कोई त्रुटि नहीं)। COALESCE का उलटा.
🎯 Exam Perspective
यह सवाल DBMS ("SQL Basics" sub-topic) category का है — difficulty level "Easy", और UPSC, SSC, Banking और Police भर्ती के exam pattern में इस तरह के questions common हैं। Answer choose करने के बाद दिया गया explanation जरूर पढ़ें।

Question 108

EN + हिं Easy
GB What is the behavior of aggregate functions (SUM, AVG, COUNT, MAX, MIN) with respect to NULL values?
IN NULL मानों के संबंध में समग्र कार्यों (SUM, AVG, COUNT, MAX, MIN) का व्यवहार क्या है?
All aggregate functions include NULL as 0 सभी समग्र कार्यों में NULL को 0 के रूप में शामिल किया गया है
Aggregate functions (except COUNT(*)) IGNORE NULL values - COUNT(*) counts all rows including NULLs; COUNT(column) counts only non-NULL values समग्र कार्य (COUNT(*) को छोड़कर) शून्य मानों को अनदेखा करें - COUNT(*) NULL सहित सभी पंक्तियों को गिनता है; COUNT(कॉलम) केवल गैर-शून्य मानों की गणना करता है
Aggregate functions treat NULL as 0 for SUM and AVG समग्र फ़ंक्शन SUM और AVG के लिए NULL को 0 मानते हैं
Aggregate functions fail when NULL values are present NULL मान मौजूद होने पर समग्र फ़ंक्शन विफल हो जाते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) NULL handling in aggregates: SUM/AVG/MAX/MIN/COUNT(col) all ignore NULLs. COUNT(*) counts ALL rows regardless of NULLs. AVG ignores NULLs in both numerator and denominator (not the same as treating as 0).
व्याख्या (हिन्दी) समुच्चय में शून्य प्रबंधन: SUM/AVG/MAX/MIN/COUNT(col) सभी शून्य को अनदेखा करते हैं। COUNT(*) शून्य की परवाह किए बिना सभी पंक्तियों की गणना करता है। AVG अंश और हर दोनों में NULL को अनदेखा करता है (0 के रूप में मानने के समान नहीं)।
🎯 Exam Perspective
यह प्रश्न DBMS ("SQL Basics" sub-topic) की तैयारी करने वाले अभ्यर्थियों के लिए उपयोगी है — difficulty level "Easy"। इस तरह के प्रश्न अक्सर Railway, SSC, Banking और Defence परीक्षाओं जैसी परीक्षाओं में पूछे जाते रहे हैं, इसलिए concept और explanation दोनों को ध्यान से समझें, सिर्फ उत्तर याद न करें।

Question 109

EN + हिं Medium
GB What is the purpose of the SQL WITH clause (Common Table Expression - CTE)?
IN एसक्यूएल विद क्लॉज (कॉमन टेबल एक्सप्रेशन - सीटीई) का उद्देश्य क्या है?
To define transaction boundaries लेन-देन की सीमाओं को परिभाषित करना
To create permanent views in the database डेटाबेस में स्थायी दृश्य बनाने के लिए
To define named temporary result sets that can be referenced multiple times within a query improving readability and enabling recursive queries (WITH RECURSIVE) नामित अस्थायी परिणाम सेट को परिभाषित करने के लिए जिन्हें एक क्वेरी के भीतर कई बार संदर्भित किया जा सकता है, पठनीयता में सुधार और पुनरावर्ती क्वेरी को सक्षम करना (पुनरावर्ती के साथ)
To add comments to SQL queries SQL क्वेरीज़ में टिप्पणियाँ जोड़ने के लिए
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) CTE (WITH clause): defines a named temporary result set scoped to the current query. Benefits: (1) Improves readability by naming complex subqueries, (2) Allows referencing the same subquery multiple times without repetition, (3) Enables recursive queries (WITH RECURSIVE) for hierarchical data.
व्याख्या (हिन्दी) सीटीई (क्लॉज के साथ): वर्तमान क्वेरी के दायरे में नामित अस्थायी परिणाम सेट को परिभाषित करता है। लाभ: (1) जटिल सबक्वेरी का नामकरण करके पठनीयता में सुधार करता है, (2) दोहराव के बिना एक ही सबक्वेरी को कई बार संदर्भित करने की अनुमति देता है, (3) पदानुक्रमित डेटा के लिए पुनरावर्ती क्वेरी (पुनरावर्ती के साथ) सक्षम करता है।
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) से जुड़ा यह सवाल — difficulty level "Medium" उन students के लिए काम का है जो SSC, Railway, Banking और State PCS की तैयारी कर रहे हैं। बेहतर होगा कि explanation पढ़कर concept clear करें, ताकि exam में similar प्रश्न आने पर confusion न हो।

Question 110

EN + हिं Medium
GB What is the difference between CHAR(n) and VARCHAR(n) data types?
IN CHAR(n) और VARCHAR(n) डेटा प्रकारों के बीच क्या अंतर है?
They are functionally identical in modern databases वे आधुनिक डेटाबेस में कार्यात्मक रूप से समान हैं
CHAR is for numbers; VARCHAR for text CHAR संख्याओं के लिए है; पाठ के लिए VARCHAR
CHAR(n) is fixed-length (always uses n bytes, padded with spaces if shorter); VARCHAR(n) is variable-length (uses only the space needed plus 1-2 bytes for length storage) CHAR(n) निश्चित-लंबाई है (हमेशा n बाइट्स का उपयोग करता है, यदि छोटा हो तो रिक्त स्थान के साथ गद्देदार); VARCHAR(n) परिवर्तनीय-लंबाई है (लंबाई भंडारण के लिए केवल आवश्यक स्थान प्लस 1-2 बाइट्स का उपयोग करता है)
VARCHAR(n) is always faster than CHAR(n) VARCHAR(n) हमेशा CHAR(n) से तेज़ होता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) CHAR(n): fixed-length, always n characters, shorter strings padded with spaces. VARCHAR(n): variable-length, up to n characters, uses exact length + overhead bytes. CHAR faster for fixed-length data (no length lookup). VARCHAR saves space for variable-length strings.
व्याख्या (हिन्दी) CHAR(n): निश्चित-लंबाई, हमेशा n अक्षर, रिक्त स्थान के साथ गद्देदार छोटी स्ट्रिंग। VARCHAR(n): चर-लंबाई, n वर्णों तक, सटीक लंबाई + ओवरहेड बाइट्स का उपयोग करता है। निश्चित-लंबाई डेटा के लिए CHAR तेज़ (कोई लंबाई लुकअप नहीं)। VARCHAR चर-लंबाई स्ट्रिंग के लिए स्थान बचाता है।
🎯 Exam Perspective
SSC CGL, IBPS, RRB और State-level परीक्षाओं जैसी परीक्षाओं में DBMS ("SQL Basics" sub-topic) से सवाल अक्सर पूछे जाते हैं — difficulty level "Medium"। इसलिए सिर्फ answer रटने के बजाय, नीचे दी गई explanation को ध्यान से पढ़ें और concept समझें।

Question 111

EN + हिं Easy
GB What does the SQL CASE expression return when no WHEN condition matches and no ELSE clause is specified?
IN जब कोई WHEN शर्त मेल नहीं खाती है और कोई ELSE क्लॉज निर्दिष्ट नहीं है तो SQL CASE एक्सप्रेशन क्या लौटाता है?
It returns 0 यह 0 लौटाता है
It returns an empty string यह एक खाली स्ट्रिंग लौटाता है
It returns NULL (the CASE expression evaluates to NULL when no WHEN matches and no ELSE is provided) यह NULL लौटाता है (CASE अभिव्यक्ति NULL का मूल्यांकन करती है जब कोई WHEN मेल नहीं खाता है और कोई ELSE प्रदान नहीं किया गया है)
It raises an error यह एक त्रुटि उत्पन्न करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) If no WHEN condition matches in a CASE expression and no ELSE clause is specified, the CASE expression returns NULL. Best practice: always include an ELSE clause to handle unexpected values explicitly.
व्याख्या (हिन्दी) यदि CASE अभिव्यक्ति में कोई WHEN शर्त मेल नहीं खाती है और कोई ELSE खंड निर्दिष्ट नहीं है, तो CASE अभिव्यक्ति NULL लौटाती है। सर्वोत्तम अभ्यास: अप्रत्याशित मानों को स्पष्ट रूप से संभालने के लिए हमेशा एक ELSE खंड शामिल करें।
🎯 Exam Perspective
अगर आप UPSC, SSC, Banking और Police भर्ती की तैयारी कर रहे हैं, तो DBMS ("SQL Basics" sub-topic) का यह topic आपके लिए महत्वपूर्ण है — difficulty level "Easy"। Exam में accuracy बढ़ाने के लिए हर सवाल की explanation जरूर पढ़ें।

Question 112

EN + हिं Medium
GB What is a correlated subquery in SQL and how does it differ from a non-correlated subquery?
IN SQL में सहसंबंधित सबक्वेरी क्या है और यह गैर-सहसंबद्ध सबक्वेरी से कैसे भिन्न है?
A subquery inside the FROM clause FROM क्लॉज के अंदर एक सबक्वेरी
A subquery that references another subquery एक सबक्वेरी जो किसी अन्य सबक्वेरी का संदर्भ देती है
A subquery using the IN operator IN ऑपरेटर का उपयोग करने वाली एक सबक्वेरी
A subquery that references a column from the outer query causing it to be executed once for each row of the outer query (vs. non-correlated subquery which executes once independently) एक सबक्वेरी जो बाहरी क्वेरी से एक कॉलम को संदर्भित करती है जिसके कारण इसे बाहरी क्वेरी की प्रत्येक पंक्ति के लिए एक बार निष्पादित किया जाता है (बनाम गैर-सहसंबद्ध सबक्वेरी जो एक बार स्वतंत्र रूप से निष्पादित होती है)
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Correlated subquery: references outer query columns (e.g., WHERE salary > (SELECT AVG(salary) FROM emp e2 WHERE e2.dept = e1.dept)). Executes once per outer row - potentially O(n) executions. Non-correlated: executes once, result used for all outer rows.
व्याख्या (हिन्दी) सहसंबंधित सबक्वेरी: बाहरी क्वेरी कॉलम का संदर्भ देता है (उदाहरण के लिए, जहां वेतन > (एएमपी ई2 से औसत (वेतन) चुनें जहां ई2.डिप्ट = ई1.डिप्ट))। प्रति बाहरी पंक्ति एक बार निष्पादित होती है - संभावित रूप से O(n) निष्पादन। गैर-सहसंबद्ध: एक बार निष्पादित होता है, परिणाम सभी बाहरी पंक्तियों के लिए उपयोग किया जाता है।
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) के इस प्रश्न को — difficulty level "Medium" कई प्रतियोगी परीक्षाओं जैसे Railway, SSC, Banking और Defence परीक्षाओं में repeat होते देखा गया है। Concept clarity के लिए explanation section जरूर पढ़ें।

Question 113

EN + हिं Easy
GB What is the SQL EXISTS operator and when should it be preferred over IN?
IN SQL EXISTS ऑपरेटर क्या है और इसे IN की तुलना में कब प्राथमिकता दी जानी चाहिए?
IN is always preferred over EXISTS IN को हमेशा EXISTS से अधिक प्राथमिकता दी जाती है
EXISTS only works with correlated subqueries EXISTS केवल सहसंबद्ध उपश्रेणियों के साथ काम करता है
EXISTS is identical to IN EXISTS IN के समान है
EXISTS returns TRUE if a subquery returns at least one row (stops at first match), preferred over IN when the subquery could return NULLs (IN with NULL has counterintuitive behavior) or when checking existence is more efficient यदि कोई सबक्वेरी कम से कम एक पंक्ति लौटाती है (पहले मिलान पर रुक जाती है) तो EXISTS सत्य लौटाता है, जब सबक्वेरी NULL लौटा सकती है (IN के साथ NULL में प्रति-सहज ज्ञान युक्त व्यवहार होता है) या जब अस्तित्व की जाँच करना अधिक कुशल होता है, तो IN की तुलना में इसे प्राथमिकता दी जाती है।
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) EXISTS: short-circuits on first match (efficient). IN: fetches all matching values. Critical difference: IN with NULL values - x NOT IN (1, NULL) is always FALSE/UNKNOWN. EXISTS handles NULLs correctly. EXISTS often preferred for large subquery result sets.
व्याख्या (हिन्दी) अस्तित्व: पहले मैच में शॉर्ट-सर्किट (कुशल)। IN: सभी मिलान मान प्राप्त करता है। गंभीर अंतर: शून्य मानों के साथ IN - x NOT IN (1, शून्य) हमेशा गलत/अज्ञात होता है। EXISTS NULL को सही ढंग से संभालता है। EXISTS को अक्सर बड़े सबक्वेरी परिणाम सेटों के लिए प्राथमिकता दी जाती है।
🎯 Exam Perspective
यह सवाल DBMS ("SQL Basics" sub-topic) category का है — difficulty level "Easy", और SSC, Railway, Banking और State PCS के exam pattern में इस तरह के questions common हैं। Answer choose करने के बाद दिया गया explanation जरूर पढ़ें।

Question 114

EN + हिं Easy
GB What does SELECT * FROM employees WHERE department_id IN (SELECT department_id FROM departments WHERE location = NULL) return?
IN SELECT * FROM Workers WHERE Department_id IN (SELECT Department_id FROM Departments WHERE Location = NULL) क्या लौटाता है?
A syntax error एक सिंटैक्स त्रुटि
All employees regardless of department विभाग की परवाह किए बिना सभी कर्मचारी
An empty result set - the condition WHERE location = NULL is always FALSE (must use IS NULL instead of = NULL) एक खाली परिणाम सेट - वह स्थिति जहां स्थान = NULL हमेशा गलत होता है (= NULL के बजाय IS NULL का उपयोग करना चाहिए)
All employees in departments with NULL location शून्य स्थान वाले विभागों के सभी कर्मचारी
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) WHERE location = NULL always evaluates to UNKNOWN (NULL = anything = UNKNOWN in SQL three-valued logic). The correct syntax is WHERE location IS NULL. This is a common SQL mistake - always use IS NULL / IS NOT NULL when checking for NULL values.
व्याख्या (हिन्दी) जहां स्थान = NULL हमेशा अज्ञात का मूल्यांकन करता है (NULL = कुछ भी = SQL तीन-मूल्य वाले तर्क में अज्ञात)। सही सिंटैक्स वह है जहां स्थान शून्य है। यह एक सामान्य SQL गलती है - NULL मानों की जाँच करते समय हमेशा IS NULL / IS NOT NULL का उपयोग करें।
🎯 Exam Perspective
यह प्रश्न DBMS ("SQL Basics" sub-topic) की तैयारी करने वाले अभ्यर्थियों के लिए उपयोगी है — difficulty level "Easy"। इस तरह के प्रश्न अक्सर SSC CGL, IBPS, RRB और State-level परीक्षाओं जैसी परीक्षाओं में पूछे जाते रहे हैं, इसलिए concept और explanation दोनों को ध्यान से समझें, सिर्फ उत्तर याद न करें।

Question 115

EN + हिं Medium
GB What is the difference between RANK(), DENSE_RANK(), and ROW_NUMBER() window functions?
IN RANK(), DENSE_RANK(), और ROW_NUMBER() विंडो फ़ंक्शंस के बीच क्या अंतर है?
RANK() never has ties; DENSE_RANK() always has ties RANK() का कभी संबंध नहीं होता; DENSE_RANK() में हमेशा संबंध होते हैं
They are all identical वे सभी एक जैसे हैं
ROW_NUMBER() cannot be used with ORDER BY ROW_NUMBER() का उपयोग ORDER BY के साथ नहीं किया जा सकता
ROW_NUMBER(): unique sequential number with no gaps or ties; RANK(): same rank for ties then skips numbers (1,1,3); DENSE_RANK(): same rank for ties no gaps (1,1,2) ROW_NUMBER(): बिना किसी अंतराल या संबंध के अद्वितीय अनुक्रमिक संख्या; रैंक(): संबंधों के लिए समान रैंक फिर संख्याओं को छोड़ देता है (1,1,3); DENSE_RANK(): टाई के लिए समान रैंक, कोई अंतराल नहीं (1,1,2)
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Example with values (100,100,90): ROW_NUMBER() = 1,2,3 (unique, arbitrary tie-breaking). RANK() = 1,1,3 (ties get same rank, next rank skips). DENSE_RANK() = 1,1,2 (ties get same rank, next rank is consecutive, no gaps).
व्याख्या (हिन्दी) मानों के साथ उदाहरण (100,100,90): ROW_NUMBER() = 1,2,3 (अद्वितीय, मनमाना टाई-ब्रेकिंग)। रैंक() = 1,1,3 (संबंधों को समान रैंक मिलती है, अगली रैंक छूट जाती है)। DENSE_RANK() = 1,1,2 (संबंधों को समान रैंक मिलती है, अगली रैंक लगातार होती है, कोई अंतराल नहीं)।
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) से जुड़ा यह सवाल — difficulty level "Medium" उन students के लिए काम का है जो UPSC, SSC, Banking और Police भर्ती की तैयारी कर रहे हैं। बेहतर होगा कि explanation पढ़कर concept clear करें, ताकि exam में similar प्रश्न आने पर confusion न हो।

Question 116

EN + हिं Medium
GB What are LEAD() and LAG() window functions used for?
IN LEAD() और LAG() विंडो फ़ंक्शंस का उपयोग किसके लिए किया जाता है?
Pivoting rows into columns पंक्तियों को स्तंभों में पिवोट करना
Accessing values from subsequent rows (LEAD) or preceding rows (LAG) within the result partition useful for computing differences between consecutive rows without self-joins परिणाम विभाजन के भीतर बाद की पंक्तियों (LEAD) या पूर्ववर्ती पंक्तियों (LAG) से मूल्यों तक पहुँचना, स्व-जुड़ने के बिना लगातार पंक्तियों के बीच अंतर की गणना के लिए उपयोगी है।
Computing running totals चल रहे कुल योग की गणना करना
Ranking rows within partitions विभाजनों के भीतर पंक्तियों की रैंकिंग
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) LAG(col, n, default): accesses value from n rows BEFORE current row in window. LEAD(col, n, default): accesses value from n rows AFTER current row. Useful for: calculating period-over-period changes (sales this month vs. last month), detecting consecutive events, computing row differences.
व्याख्या (हिन्दी) LAG(col, n, default): विंडो में वर्तमान पंक्ति से पहले n पंक्तियों से मान तक पहुँचता है। लीड (कॉल, एन, डिफ़ॉल्ट): वर्तमान पंक्ति के बाद एन पंक्तियों से मूल्य तक पहुँचता है। इसके लिए उपयोगी: समय-दर-समय परिवर्तनों की गणना करना (इस महीने बनाम पिछले महीने की बिक्री), लगातार घटनाओं का पता लगाना, पंक्ति अंतर की गणना करना।
🎯 Exam Perspective
Railway, SSC, Banking और Defence परीक्षाओं जैसी परीक्षाओं में DBMS ("SQL Basics" sub-topic) से सवाल अक्सर पूछे जाते हैं — difficulty level "Medium"। इसलिए सिर्फ answer रटने के बजाय, नीचे दी गई explanation को ध्यान से पढ़ें और concept समझें।

Question 117

EN + हिं Medium
GB What is the OVER(PARTITION BY...ORDER BY...ROWS/RANGE BETWEEN...) clause used for?
IN ओवर(पार्टीशन बाय...ऑर्डर बाय...रोज़/रेंज बिटवीन...) क्लॉज का उपयोग किसके लिए किया जाता है?
Defining the window frame for window functions - specifying which rows to include in each computation relative to the current row विंडो फ़ंक्शंस के लिए विंडो फ़्रेम को परिभाषित करना - निर्दिष्ट करना कि वर्तमान पंक्ति के सापेक्ष प्रत्येक गणना में कौन सी पंक्तियों को शामिल किया जाए
Creating partitioned tables विभाजित तालिकाएँ बनाना
Creating table partitions for query optimization क्वेरी अनुकूलन के लिए तालिका विभाजन बनाना
Partitioning data across physical storage भौतिक भंडारण में डेटा का विभाजन
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) OVER clause defines the window for window functions: PARTITION BY groups rows into partitions (like GROUP BY but without collapsing). ORDER BY defines row ordering within partition. ROWS/RANGE BETWEEN defines the frame (e.g., ROWS BETWEEN 2 PRECEDING AND CURRENT ROW for 3-row rolling average).
व्याख्या (हिन्दी) ओवर क्लॉज विंडो फ़ंक्शंस के लिए विंडो को परिभाषित करता है: विभाजन पंक्तियों को विभाजन में समूहित करता है (जैसे ग्रुप बाय लेकिन बिना ढहे)। ORDER BY विभाजन के भीतर पंक्ति क्रम को परिभाषित करता है। बीच की पंक्तियाँ/श्रेणी फ्रेम को परिभाषित करती है (उदाहरण के लिए, 3-पंक्ति रोलिंग औसत के लिए 2 पूर्ववर्ती और वर्तमान पंक्ति के बीच की पंक्तियाँ)।
🎯 Exam Perspective
अगर आप SSC, Railway, Banking और State PCS की तैयारी कर रहे हैं, तो DBMS ("SQL Basics" sub-topic) का यह topic आपके लिए महत्वपूर्ण है — difficulty level "Medium"। Exam में accuracy बढ़ाने के लिए हर सवाल की explanation जरूर पढ़ें।

Question 118

EN + हिं Medium
GB What is the SQL PIVOT operation conceptually and how is it typically implemented?
IN वैचारिक रूप से SQL PIVOT ऑपरेशन क्या है और इसे आम तौर पर कैसे कार्यान्वित किया जाता है?
An operation that removes duplicate rows एक ऑपरेशन जो डुप्लिकेट पंक्तियों को हटा देता है
A type of JOIN operation एक प्रकार का जॉइन ऑपरेशन
Transforming row values into column headers converting a narrow table into a wide table - implemented via conditional aggregation (CASE + GROUP BY) in standard SQL पंक्ति मानों को कॉलम हेडर में बदलना, एक संकीर्ण तालिका को एक विस्तृत तालिका में परिवर्तित करना - मानक SQL में सशर्त एकत्रीकरण (CASE + GROUP BY) के माध्यम से कार्यान्वित किया गया
Rotating a table 90 degrees on screen स्क्रीन पर टेबल को 90 डिग्री घुमाना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) PIVOT transforms rows to columns. Standard SQL: SELECT id, SUM(CASE WHEN month=Jan THEN sales END) AS Jan, SUM(CASE WHEN month=Feb THEN sales END) AS Feb ... Some DBMS (SQL Server, Oracle) have native PIVOT syntax. Opposite is UNPIVOT.
व्याख्या (हिन्दी) PIVOT पंक्तियों को स्तंभों में परिवर्तित करता है। मानक एसक्यूएल: चयन आईडी, एसयूएम (मामला जब महीना = जनवरी तब बिक्री समाप्त होती है) जनवरी के रूप में, एसयूएम (मामला जब महीना = फरवरी तब बिक्री समाप्त होती है) फरवरी के रूप में ... कुछ डीबीएमएस (एसक्यूएल सर्वर, ओरेकल) में मूल पिवट सिंटैक्स होता है। इसके विपरीत UNPIVOT है।
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) के इस प्रश्न को — difficulty level "Medium" कई प्रतियोगी परीक्षाओं जैसे SSC CGL, IBPS, RRB और State-level परीक्षाओं में repeat होते देखा गया है। Concept clarity के लिए explanation section जरूर पढ़ें।

Question 119

EN + हिं Easy
GB What is the COALESCE(expr1, expr2, ..., exprN) function?
IN COALESCE(expr1, expr2, ..., exprN) फ़ंक्शन क्या है?
Returns NULL if any expression is NULL यदि कोई अभिव्यक्ति शून्य है तो शून्य लौटाता है
Returns the first non-NULL expression from left to right - short-circuits (stops evaluating) once a non-NULL value is found बाएँ से दाएँ पहली गैर-शून्य अभिव्यक्ति लौटाता है - एक गैर-शून्य मान पाए जाने पर शॉर्ट-सर्किट (मूल्यांकन करना बंद कर देता है)
Returns all non-NULL values as a list सभी गैर-शून्य मानों को एक सूची के रूप में लौटाता है
Returns the maximum non-NULL value from the expressions भावों से अधिकतम गैर-शून्य मान लौटाता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) COALESCE(e1,e2,...,en): evaluates expressions left to right, returns first non-NULL. Short-circuits. COALESCE(NULL, NULL, 5, NULL) = 5. Common uses: default values for NULLs, fallback values. Equivalent to nested CASE WHEN e1 IS NOT NULL THEN e1 WHEN e2 IS NOT NULL THEN e2...
व्याख्या (हिन्दी) COALESCE(e1,e2,...,en): बाएं से दाएं भावों का मूल्यांकन करता है, पहले गैर-शून्य लौटाता है। शॉर्ट सर्किट। COALESCE(NULL, NULL, 5, NULL) = 5. सामान्य उपयोग: NULL के लिए डिफ़ॉल्ट मान, फ़ॉलबैक मान। नेस्टेड केस के समतुल्य जब e1 शून्य नहीं है तब e1 जब e2 शून्य नहीं है तब e2...
🎯 Exam Perspective
यह सवाल DBMS ("SQL Basics" sub-topic) category का है — difficulty level "Easy", और UPSC, SSC, Banking और Police भर्ती के exam pattern में इस तरह के questions common हैं। Answer choose करने के बाद दिया गया explanation जरूर पढ़ें।

Question 120

EN + हिं Easy
GB What does the SQL FETCH FIRST n ROWS ONLY clause do and which standard introduced it?
IN SQL FETCH FIRST n ROWS ONLY क्लॉज क्या करता है और किस मानक ने इसे पेश किया?
It fetches the first n rows from a specific table यह एक विशिष्ट तालिका से पहली n पंक्तियाँ प्राप्त करता है
It creates a cursor for the first n rows यह पहली n पंक्तियों के लिए एक कर्सर बनाता है
It creates an index on the first n rows यह पहली n पंक्तियों पर एक सूचकांक बनाता है
It limits the result set to the first n rows (equivalent to LIMIT n in MySQL/PostgreSQL), introduced by SQL:2008 standard यह SQL:2008 मानक द्वारा प्रस्तुत परिणाम सेट को पहली n पंक्तियों (MySQL/PostgreSQL में LIMIT n के बराबर) तक सीमित करता है।
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) FETCH FIRST n ROWS ONLY is ANSI SQL:2008 standard syntax for row limiting. MySQL/PostgreSQL: LIMIT n. SQL Server: TOP n or FETCH FIRST. Oracle: ROWNUM, FETCH FIRST. Often combined with OFFSET for pagination: OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY.
व्याख्या (हिन्दी) FETCH FIRST n RoWS केवल पंक्ति सीमित करने के लिए ANSI SQL:2008 मानक सिंटैक्स है। MySQL/PostgreSQL: सीमा n. एसक्यूएल सर्वर: टॉप एन या फ़ेच फर्स्ट। ओरेकल: राउनम, पहले प्राप्त करें। पेजिनेशन के लिए इसे अक्सर OFFSET के साथ जोड़ा जाता है: OFFSET 10 पंक्तियाँ केवल अगली 10 पंक्तियाँ प्राप्त करें।
🎯 Exam Perspective
यह प्रश्न DBMS ("SQL Basics" sub-topic) की तैयारी करने वाले अभ्यर्थियों के लिए उपयोगी है — difficulty level "Easy"। इस तरह के प्रश्न अक्सर Railway, SSC, Banking और Defence परीक्षाओं जैसी परीक्षाओं में पूछे जाते रहे हैं, इसलिए concept और explanation दोनों को ध्यान से समझें, सिर्फ उत्तर याद न करें।