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 121

EN + हिं Medium
GB What is the SQL MERGE statement (also called UPSERT) used for?
IN SQL MERGE स्टेटमेंट (जिसे UPSERT भी कहा जाता है) का उपयोग किसके लिए किया जाता है?
Merging the results of two SELECT queries दो SELECT क्वेरीज़ के परिणामों को मर्ज करना
Merging two databases into one दो डेटाबेस को एक में विलय करना
Combining two tables into one permanent table दो तालिकाओं को एक स्थायी तालिका में संयोजित करना
Performing INSERT, UPDATE, or DELETE operations in a single statement based on whether a match exists between source and target tables - useful for ETL and synchronization operations स्रोत और लक्ष्य तालिकाओं के बीच मिलान मौजूद है या नहीं, इसके आधार पर एकल कथन में INSERT, UPDATE, या DELETE संचालन करना - ETL और सिंक्रनाइज़ेशन संचालन के लिए उपयोगी
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) MERGE (SQL:2003): MERGE INTO target USING source ON condition WHEN MATCHED THEN UPDATE... WHEN NOT MATCHED THEN INSERT... Atomic upsert operation - one statement handles both insert-if-new and update-if-exists. Common in ETL pipelines.
व्याख्या (हिन्दी) मर्ज (एसक्यूएल: 2003): शर्त पर स्रोत का उपयोग करके लक्ष्य में मर्ज करें जब मिलान हो तो अपडेट करें... जब मेल नहीं खाता है तो डालें... परमाणु अप्सर्ट ऑपरेशन - एक स्टेटमेंट इन्सर्ट-इफ-न्यू और अपडेट-इफ-मौजूद दोनों को संभालता है। ईटीएल पाइपलाइनों में आम।
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) से जुड़ा यह सवाल — difficulty level "Medium" उन students के लिए काम का है जो SSC, Railway, Banking और State PCS की तैयारी कर रहे हैं। बेहतर होगा कि explanation पढ़कर concept clear करें, ताकि exam में similar प्रश्न आने पर confusion न हो।

Question 122

EN + हिं Easy
GB What is three-valued logic (3VL) in SQL and what are the three truth values?
IN SQL में थ्री-वैल्यू लॉजिक (3VL) क्या है और तीन सत्य मान क्या हैं?
TRUE, FALSE, and UNKNOWN - where UNKNOWN results from comparisons involving NULL values; logical operations follow specific rules: TRUE AND UNKNOWN = UNKNOWN, FALSE AND UNKNOWN = FALSE, TRUE OR UNKNOWN = TRUE सत्य, असत्य और अज्ञात - जहां अज्ञात का परिणाम शून्य मानों वाली तुलनाओं से होता है; तार्किक संचालन विशिष्ट नियमों का पालन करते हैं: सत्य और अज्ञात = अज्ञात, गलत और अज्ञात = गलत, सत्य या अज्ञात = सत्य
TRUE, FALSE, and NULL - where NULL is treated as a third Boolean value सत्य, असत्य और शून्य - जहां शून्य को तीसरे बूलियन मान के रूप में माना जाता है
TRUE and FALSE only (SQL uses standard Boolean logic) केवल सत्य और असत्य (एसक्यूएल मानक बूलियन तर्क का उपयोग करता है)
TRUE, FALSE, and ERROR - where ERROR results from type mismatches सत्य, असत्य और त्रुटि - जहां प्रकार के बेमेल होने से त्रुटि उत्पन्न होती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) SQL 3VL: comparisons with NULL produce UNKNOWN. Logic rules: UNKNOWN AND TRUE = UNKNOWN, UNKNOWN AND FALSE = FALSE, UNKNOWN OR TRUE = TRUE, UNKNOWN OR FALSE = UNKNOWN, NOT UNKNOWN = UNKNOWN. WHERE clause only passes rows where condition = TRUE.
व्याख्या (हिन्दी) SQL 3VL: NULL के साथ तुलना अज्ञात उत्पन्न करती है। तर्क नियम: अज्ञात और सत्य = अज्ञात, अज्ञात और असत्य = असत्य, अज्ञात या सत्य = सत्य, अज्ञात या असत्य = अज्ञात, अज्ञात नहीं = अज्ञात। जहां क्लॉज केवल उन पंक्तियों को पास करता है जहां शर्त = सत्य है।
🎯 Exam Perspective
SSC CGL, IBPS, RRB और State-level परीक्षाओं जैसी परीक्षाओं में DBMS ("SQL Basics" sub-topic) से सवाल अक्सर पूछे जाते हैं — difficulty level "Easy"। इसलिए सिर्फ answer रटने के बजाय, नीचे दी गई explanation को ध्यान से पढ़ें और concept समझें।

Question 123

EN + हिं Medium
GB What is the difference between TRUNCATE and DELETE without a WHERE clause in SQL?
IN SQL में WHERE क्लॉज के बिना TRUNCATE और DELETE के बीच क्या अंतर है?
TRUNCATE removes all rows without logging individual row deletions (faster, minimal logging, resets auto-increment), cannot be rolled back in some DBMS, and cannot have triggers. DELETE logs each row deletion (slower, fully transactional, triggers fire, can be rolled back) TRUNCATE व्यक्तिगत पंक्ति विलोपन को लॉग किए बिना सभी पंक्तियों को हटा देता है (तेज, न्यूनतम लॉगिंग, ऑटो-वृद्धि को रीसेट करता है), कुछ DBMS में वापस नहीं लाया जा सकता है, और इसमें ट्रिगर नहीं हो सकते हैं। प्रत्येक पंक्ति को हटाने के लिए लॉग को हटाएं (धीमा, पूरी तरह से लेन-देन, आग को ट्रिगर करता है, वापस लाया जा सकता है)
TRUNCATE can have a WHERE clause; DELETE cannot TRUNCATE में WHERE क्लॉज हो सकता है; हटा नहीं सकते
They are identical operations वे समान परिचालन हैं
DELETE is faster than TRUNCATE for large tables बड़ी तालिकाओं के लिए DELETE TRUNCATE से तेज़ है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) TRUNCATE: DDL operation in many DBMS, removes all rows by deallocating data pages, minimal logging, very fast, resets identity/auto-increment, cannot have WHERE clause, does not fire row-level triggers, may not be rollbackable. DELETE: DML, logs each deletion, fires triggers, can have WHERE, fully rollbackable.
व्याख्या (हिन्दी) ट्रंकेट: कई डीबीएमएस में डीडीएल ऑपरेशन, डेटा पेजों को हटाकर सभी पंक्तियों को हटा देता है, न्यूनतम लॉगिंग, बहुत तेज, पहचान/ऑटो-वृद्धि को रीसेट करता है, WHERE क्लॉज नहीं हो सकता है, पंक्ति-स्तरीय ट्रिगर सक्रिय नहीं होता है, रोलबैक करने योग्य नहीं हो सकता है। हटाएं: डीएमएल, प्रत्येक विलोपन को लॉग करता है, ट्रिगर सक्रिय करता है, WHERE कर सकता है, पूरी तरह से रोलबैक करने योग्य।
🎯 Exam Perspective
अगर आप UPSC, SSC, Banking और Police भर्ती की तैयारी कर रहे हैं, तो DBMS ("SQL Basics" sub-topic) का यह topic आपके लिए महत्वपूर्ण है — difficulty level "Medium"। Exam में accuracy बढ़ाने के लिए हर सवाल की explanation जरूर पढ़ें।

Question 124

EN + हिं Easy
GB In SQL what does DISTINCT do when used inside an aggregate function like COUNT(DISTINCT column)?
IN SQL में COUNT(DISTINCT कॉलम) जैसे समग्र फ़ंक्शन के अंदर उपयोग किए जाने पर DISTINCT क्या करता है?
It is identical to COUNT(column) without DISTINCT यह DISTINCT के बिना COUNT(कॉलम) के समान है
It filters out rows where column is NULL यह उन पंक्तियों को फ़िल्टर करता है जहां कॉलम शून्य है
It orders the count results यह गणना परिणामों का आदेश देता है
It counts only unique non-NULL values of the column eliminating duplicates before counting - e.g. COUNT(DISTINCT dept_id) counts how many distinct departments have employees यह गिनती से पहले डुप्लिकेट को हटाकर कॉलम के केवल अद्वितीय गैर-शून्य मानों की गणना करता है - उदाहरण के लिए COUNT(DISTINCT dept_id) गिनता है कि कितने अलग-अलग विभागों में कर्मचारी हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) COUNT(DISTINCT col): counts only distinct (unique) non-NULL values of col. Different from COUNT(col) which counts all non-NULL values including duplicates. Also works with SUM, AVG: SUM(DISTINCT salary) sums only unique salary values.
व्याख्या (हिन्दी) COUNT(DISTINCT col): कॉलम के केवल विशिष्ट (अद्वितीय) गैर-शून्य मानों की गणना करता है। COUNT(col) से भिन्न जो डुप्लिकेट सहित सभी गैर-शून्य मानों की गणना करता है। SUM, AVG के साथ भी काम करता है: SUM (DISTINCT वेतन) केवल अद्वितीय वेतन मानों का योग करता है।
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) के इस प्रश्न को — difficulty level "Easy" कई प्रतियोगी परीक्षाओं जैसे Railway, SSC, Banking और Defence परीक्षाओं में repeat होते देखा गया है। Concept clarity के लिए explanation section जरूर पढ़ें।

Question 125

EN + हिं Medium
GB What is the purpose of SQL CHECK constraint and what are its limitations?
IN SQL CHECK बाधा का उद्देश्य क्या है और इसकी सीमाएँ क्या हैं?
To enforce a condition that must be true for all rows in a table; limitations include: cannot reference other tables, cannot contain subqueries in standard SQL, and in some DBMS it was parsed but not enforced ऐसी शर्त लागू करने के लिए जो तालिका की सभी पंक्तियों के लिए सत्य होनी चाहिए; सीमाओं में शामिल हैं: अन्य तालिकाओं को संदर्भित नहीं किया जा सकता है, मानक SQL में उप-क्वेरीज़ शामिल नहीं हो सकती हैं, और कुछ DBMS में इसे पार्स किया गया था लेकिन लागू नहीं किया गया था
To verify query syntax before execution निष्पादन से पहले क्वेरी सिंटैक्स को सत्यापित करने के लिए
To check for NULL values in columns कॉलम में NULL मानों की जाँच करने के लिए
To verify that a user has proper permissions यह सत्यापित करने के लिए कि उपयोगकर्ता के पास उचित अनुमतियाँ हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) CHECK constraint: enforces a predicate on column values (e.g., CHECK(salary > 0), CHECK(end_date > start_date)). Standard SQL limitations: cannot reference other tables or use subqueries in most DBMS. MySQL silently ignored CHECK before 8.0.16.
व्याख्या (हिन्दी) जांच बाधा: कॉलम मानों पर एक विधेय लागू करता है (उदाहरण के लिए, जांच (वेतन > 0), जांच (अंत_तिथि > प्रारंभ_तिथि))। मानक SQL सीमाएँ: अधिकांश DBMS में अन्य तालिकाओं का संदर्भ नहीं दिया जा सकता या सबक्वेरीज़ का उपयोग नहीं किया जा सकता। MySQL ने 8.0.16 से पहले चुपचाप CHECK को नजरअंदाज कर दिया।
🎯 Exam Perspective
यह सवाल DBMS ("SQL Basics" sub-topic) category का है — difficulty level "Medium", और SSC, Railway, Banking और State PCS के exam pattern में इस तरह के questions common हैं। Answer choose करने के बाद दिया गया explanation जरूर पढ़ें।

Question 126

EN + हिं Easy
GB What does SELECT DISTINCT department_id FROM employees return differently from SELECT department_id FROM employees GROUP BY department_id?
IN SELECT DISTINCT Department_id FROM Employee, SELECT Department_id FROM Employee GROUP BY Department_id से अलग क्या लौटाता है?
They are semantically equivalent - both return unique department IDs वे शब्दार्थ की दृष्टि से समतुल्य हैं - दोनों अद्वितीय विभाग आईडी लौटाते हैं
DISTINCT returns unique values without aggregation capability; GROUP BY allows adding aggregate functions. However, for just listing unique values with no aggregation, they produce identical results - GROUP BY is more powerful but DISTINCT is cleaner for simple deduplication DISTINCT एकत्रीकरण क्षमता के बिना अद्वितीय मान लौटाता है; ग्रुप बाय समग्र कार्यों को जोड़ने की अनुमति देता है। हालाँकि, बिना किसी एकत्रीकरण के केवल अद्वितीय मानों को सूचीबद्ध करने के लिए, वे समान परिणाम देते हैं - GROUP BY अधिक शक्तिशाली है लेकिन DISTINCT सरल डिडुप्लीकेशन के लिए क्लीनर है
GROUP BY cannot be used without aggregate functions ग्रुप बाय का उपयोग समग्र कार्यों के बिना नहीं किया जा सकता है
DISTINCT is faster than GROUP BY in all cases DISTINCT सभी मामलों में ग्रुप BY से तेज़ है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) For simple deduplication: SELECT DISTINCT col and SELECT col GROUP BY col produce identical results. But GROUP BY allows: SELECT dept, COUNT(*), AVG(salary) GROUP BY dept. DISTINCT with aggregates works differently. Internally, both may use sorting or hashing for deduplication.
व्याख्या (हिन्दी) सरल डिडुप्लीकेशन के लिए: SELECT DISTINCT col और SELECT col GROUP BY col समान परिणाम उत्पन्न करते हैं। लेकिन ग्रुप बाय अनुमति देता है: विभाग अनुसार चयन करें, गिनती(*), औसत(वेतन) ग्रुप बाय विभाग। समुच्चय के साथ DISTINCT अलग तरीके से काम करता है। आंतरिक रूप से, दोनों डिडुप्लीकेशन के लिए सॉर्टिंग या हैशिंग का उपयोग कर सकते हैं।
🎯 Exam Perspective
यह प्रश्न DBMS ("SQL Basics" sub-topic) की तैयारी करने वाले अभ्यर्थियों के लिए उपयोगी है — difficulty level "Easy"। इस तरह के प्रश्न अक्सर SSC CGL, IBPS, RRB और State-level परीक्षाओं जैसी परीक्षाओं में पूछे जाते रहे हैं, इसलिए concept और explanation दोनों को ध्यान से समझें, सिर्फ उत्तर याद न करें।

Question 127

EN + हिं Easy
GB What is the BETWEEN operator in SQL and is it inclusive or exclusive of boundaries?
IN SQL में BETWEEN ऑपरेटर क्या है और क्या इसमें सीमाएँ सम्मिलित हैं या अनन्य हैं?
BETWEEN a AND b is INCLUSIVE of both endpoints - equivalent to >= a AND <= b (both a and b are included in the range) ए और बी के बीच दोनों समापन बिंदुओं का समावेश है - >= ए और के बराबर
BETWEEN is inclusive of lower bound, exclusive of upper bound बीच में निचली सीमा शामिल है, ऊपरी सीमा शामिल नहीं है
BETWEEN is exclusive of lower bound, inclusive of upper bound BETWEEN में निचली सीमा शामिल नहीं है, ऊपरी सीमा शामिल है
BETWEEN is exclusive of both boundaries BETWEEN दोनों सीमाओं से अलग है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) BETWEEN a AND b is inclusive of both bounds: equivalent to col >= a AND col <= b. This applies to numbers, dates, and strings. WHERE hire_date BETWEEN 2020-01-01 AND 2020-12-31 includes both Jan 1 and Dec 31.
व्याख्या (हिन्दी) ए और बी के बीच दोनों सीमाएं शामिल हैं: col >= a और col के बराबर
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) से जुड़ा यह सवाल — difficulty level "Easy" उन students के लिए काम का है जो UPSC, SSC, Banking और Police भर्ती की तैयारी कर रहे हैं। बेहतर होगा कि explanation पढ़कर concept clear करें, ताकि exam में similar प्रश्न आने पर confusion न हो।

Question 128

EN + हिं Easy
GB What is the SQL LIKE operator, and what do the wildcards % and _ represent?
IN SQL LIKE ऑपरेटर क्या है, और वाइल्डकार्ड % और _ क्या दर्शाते हैं?
They both match zero or more characters वे दोनों शून्य या अधिक वर्णों से मेल खाते हैं
% matches exactly one character; _ matches zero or more % बिल्कुल एक वर्ण से मेल खाता है; _ शून्य या अधिक से मेल खाता है
% matches zero or more characters (any sequence); _ matches exactly one character (any single character) - used for pattern matching in strings % शून्य या अधिक वर्णों (किसी भी क्रम) से मेल खाता है; _ बिल्कुल एक वर्ण (किसी एक वर्ण) से मेल खाता है - स्ट्रिंग में पैटर्न मिलान के लिए उपयोग किया जाता है
% matches numbers; _ matches letters % संख्याओं से मेल खाता है; _ अक्षरों से मेल खाता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) LIKE pattern matching: % (percent) matches any sequence of 0 or more characters. _ (underscore) matches exactly one character. Example: LIKE A% (starts with A), LIKE _ohn (4-char ending in ohn), LIKE %SQL% (contains SQL). Case sensitivity depends on DBMS collation.
व्याख्या (हिन्दी) पैटर्न मिलान की तरह: % (प्रतिशत) 0 या अधिक वर्णों के किसी भी अनुक्रम से मेल खाता है। _ (अंडरस्कोर) बिल्कुल एक वर्ण से मेल खाता है। उदाहरण: LIKE A% (A से प्रारंभ होता है), LIKE _ohn (ओएचएन में 4-वर्ण का अंत), LIKE %SQL% (SQL शामिल है)। केस संवेदनशीलता डीबीएमएस मिलान पर निर्भर करती है।
🎯 Exam Perspective
Railway, SSC, Banking और Defence परीक्षाओं जैसी परीक्षाओं में DBMS ("SQL Basics" sub-topic) से सवाल अक्सर पूछे जाते हैं — difficulty level "Easy"। इसलिए सिर्फ answer रटने के बजाय, नीचे दी गई explanation को ध्यान से पढ़ें और concept समझें।

Question 129

EN + हिं Medium
GB What is the difference between INNER JOIN and CROSS JOIN in SQL?
IN SQL में इनर जॉइन और क्रॉस जॉइन के बीच क्या अंतर है?
They are identical वे समान हैं
CROSS JOIN is faster than INNER JOIN क्रॉस जॉइन इनर जॉइन से तेज़ है
INNER JOIN returns only rows with matching values in both tables based on a join condition; CROSS JOIN returns the Cartesian product (every combination of rows from both tables, no join condition) INNER JOIN केवल जॉइन स्थिति के आधार पर दोनों तालिकाओं में मेल खाने वाली मान वाली पंक्तियाँ लौटाता है; क्रॉस जॉइन कार्टेशियन उत्पाद लौटाता है (दोनों तालिकाओं से पंक्तियों का प्रत्येक संयोजन, कोई जुड़ने की स्थिति नहीं)
INNER JOIN works with multiple tables; CROSS JOIN only with two इनर जॉइन कई तालिकाओं के साथ काम करता है; क्रॉस जॉइन केवल दो के साथ
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) INNER JOIN: requires a join condition (ON or USING), returns only matching rows. CROSS JOIN: no condition, produces n times m rows (all combinations). CROSS JOIN useful for generating test data or combinations. Warning: large CROSS JOINs produce enormous result sets.
व्याख्या (हिन्दी) इनर जॉइन: जॉइन कंडीशन (चालू या उपयोग) की आवश्यकता होती है, केवल मेल खाने वाली पंक्तियाँ लौटाता है। क्रॉस जॉइन: कोई शर्त नहीं, n गुना m पंक्तियाँ (सभी संयोजन) उत्पन्न करता है। क्रॉस जॉइन परीक्षण डेटा या संयोजन उत्पन्न करने के लिए उपयोगी है। चेतावनी: बड़े क्रॉस जॉइन्स भारी परिणाम सेट उत्पन्न करते हैं।
🎯 Exam Perspective
अगर आप SSC, Railway, Banking और State PCS की तैयारी कर रहे हैं, तो DBMS ("SQL Basics" sub-topic) का यह topic आपके लिए महत्वपूर्ण है — difficulty level "Medium"। Exam में accuracy बढ़ाने के लिए हर सवाल की explanation जरूर पढ़ें।

Question 130

EN + हिं Easy
GB What is a recursive CTE (WITH RECURSIVE) in SQL and what problem does it solve?
IN SQL में रिकर्सिव CTE (रिकर्सिव के साथ) क्या है और यह किस समस्या का समाधान करता है?
A CTE that references itself for better performance एक सीटीई जो बेहतर प्रदर्शन के लिए खुद को संदर्भित करता है
A CTE that is defined within another CTE एक CTE जिसे किसी अन्य CTE के भीतर परिभाषित किया गया है
A CTE that references itself enabling traversal of hierarchical/graph data (like org charts, bill of materials, file systems) without knowing the depth in advance - queries tree/graph structures iteratively until no more rows are added एक सीटीई जो पहले से गहराई को जाने बिना पदानुक्रमित/ग्राफ़ डेटा (जैसे ऑर्ग चार्ट, सामग्रियों का बिल, फ़ाइल सिस्टम) के ट्रैवर्सल को सक्षम करने का संदर्भ देता है - जब तक कोई और पंक्तियां नहीं जोड़ी जाती तब तक पेड़/ग्राफ़ संरचनाओं से पूछताछ की जाती है
A CTE that automatically optimizes recursive queries एक सीटीई जो पुनरावर्ती प्रश्नों को स्वचालित रूप से अनुकूलित करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) WITH RECURSIVE: consists of base case (initial rows) UNION ALL recursive case (joins back to CTE). Executes iteratively until recursive part returns no new rows. Solves: traversing trees (org charts, categories), graphs (paths, connectivity), sequences, date series generation.
व्याख्या (हिन्दी) रिकर्सिव के साथ: इसमें बेस केस (प्रारंभिक पंक्तियाँ) यूनियन सभी रिकर्सिव केस (सीटीई में वापस जुड़ना) शामिल हैं। जब तक पुनरावर्ती भाग कोई नई पंक्तियाँ नहीं लौटाता, तब तक इसे पुनरावृत्त रूप से निष्पादित किया जाता है। हल: पेड़ों को पार करना (संगठन चार्ट, श्रेणियां), ग्राफ़ (पथ, कनेक्टिविटी), अनुक्रम, दिनांक श्रृंखला निर्माण।
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) के इस प्रश्न को — difficulty level "Easy" कई प्रतियोगी परीक्षाओं जैसे SSC CGL, IBPS, RRB और State-level परीक्षाओं में repeat होते देखा गया है। Concept clarity के लिए explanation section जरूर पढ़ें।

Question 131

EN + हिं Medium
GB What is a window function in SQL and how does it differ from aggregate functions?
IN SQL में विंडो फ़ंक्शन क्या है और यह समग्र फ़ंक्शंस से कैसे भिन्न है?
Window functions require PARTITION BY to work विंडो फ़ंक्शंस को काम करने के लिए PARTITION BY की आवश्यकता होती है
Window functions only work with ORDER BY विंडो फ़ंक्शंस केवल ORDER BY के साथ काम करते हैं
Window functions are identical to aggregate functions विंडो फ़ंक्शंस समग्र फ़ंक्शंस के समान हैं
Window functions perform calculations across a set of rows related to the current row without collapsing them into a single result row - unlike aggregate functions which collapse groups into single rows विंडो फ़ंक्शंस वर्तमान पंक्ति से संबंधित पंक्तियों के एक सेट में उन्हें एक परिणाम पंक्ति में संक्षिप्त किए बिना गणना करते हैं - समग्र फ़ंक्शंस के विपरीत जो समूहों को एकल पंक्तियों में संक्षिप्त करते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Window functions: calculate across related rows (defined by OVER clause) but return a value for EACH row (not collapsed). Aggregate functions (GROUP BY): collapse groups into single summary rows. Window functions enable: running totals, rankings, moving averages, lag/lead comparisons.
व्याख्या (हिन्दी) विंडो फ़ंक्शंस: संबंधित पंक्तियों की गणना करें (ओवर क्लॉज द्वारा परिभाषित) लेकिन प्रत्येक पंक्ति के लिए एक मान लौटाएं (संक्षिप्त नहीं)। समग्र कार्य (समूह द्वारा): समूहों को एकल सारांश पंक्तियों में संक्षिप्त करें। विंडो फ़ंक्शंस सक्षम करते हैं: रनिंग टोटल, रैंकिंग, मूविंग एवरेज, लैग/लीड तुलना।
🎯 Exam Perspective
यह सवाल DBMS ("SQL Basics" sub-topic) category का है — difficulty level "Medium", और UPSC, SSC, Banking और Police भर्ती के exam pattern में इस तरह के questions common हैं। Answer choose करने के बाद दिया गया explanation जरूर पढ़ें।

Question 132

EN + हिं Medium
GB What is the difference between a subquery and a derived table (inline view) in SQL?
IN SQL में सबक्वेरी और व्युत्पन्न तालिका (इनलाइन व्यू) के बीच क्या अंतर है?
They are always identical वे हमेशा एक जैसे होते हैं
A subquery is any query nested within another query; a derived table (inline view) is specifically a subquery in the FROM clause that acts as a named temporary table for the outer query - derived tables require an alias एक सबक्वेरी किसी अन्य क्वेरी के भीतर निहित कोई भी क्वेरी है; एक व्युत्पन्न तालिका (इनलाइन व्यू) विशेष रूप से FROM क्लॉज में एक सबक्वेरी है जो बाहरी क्वेरी के लिए नामित अस्थायी तालिका के रूप में कार्य करती है - व्युत्पन्न तालिकाओं के लिए उपनाम की आवश्यकता होती है
Subqueries only appear in WHERE clauses; derived tables only in FROM सबक्वेरीज़ केवल WHERE क्लॉज में दिखाई देती हैं; केवल FROM में व्युत्पन्न तालिकाएँ
Derived tables are stored permanently; subqueries are temporary व्युत्पन्न तालिकाएँ स्थायी रूप से संग्रहीत की जाती हैं; उपश्रेणियाँ अस्थायी हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Subquery: nested query in WHERE, HAVING, SELECT, or FROM clauses. Derived table/inline view: subquery in the FROM clause that generates a temporary table. Example: SELECT * FROM (SELECT dept, AVG(salary) AS avg_sal FROM emp GROUP BY dept) AS dept_avgs WHERE avg_sal > 50000.
व्याख्या (हिन्दी) सबक्वेरी: WHERE, HAVING, SELECT, या FROM क्लॉज में नेस्टेड क्वेरी। व्युत्पन्न तालिका/इनलाइन दृश्य: FROM क्लॉज में सबक्वेरी जो एक अस्थायी तालिका उत्पन्न करती है। उदाहरण: SELECT * FROM (चयन विभाग, AVG(वेतन) AS avg_sal FROM Emp Group BY विभाग) AS dept_avgs जहां avg_sal > 50000।
🎯 Exam Perspective
यह प्रश्न DBMS ("SQL Basics" sub-topic) की तैयारी करने वाले अभ्यर्थियों के लिए उपयोगी है — difficulty level "Medium"। इस तरह के प्रश्न अक्सर Railway, SSC, Banking और Defence परीक्षाओं जैसी परीक्षाओं में पूछे जाते रहे हैं, इसलिए concept और explanation दोनों को ध्यान से समझें, सिर्फ उत्तर याद न करें।

Question 133

EN + हिं Medium
GB What is the SQL HAVING clause and why is it necessary (can WHERE replace it)?
IN SQL HAVING क्लॉज़ क्या है और यह क्यों आवश्यक है (WHERE इसे प्रतिस्थापित कर सकता है)?
HAVING and WHERE are interchangeable होना और कहाँ विनिमेय हैं
HAVING is only for numeric data; WHERE handles text HAVING केवल संख्यात्मक डेटा के लिए है; WHERE टेक्स्ट को संभालता है
HAVING filters groups after GROUP BY aggregation and can reference aggregate function results (e.g. HAVING COUNT(*) > 5); WHERE cannot reference aggregate functions because it runs before aggregation - HAVING is necessary for filtering based on aggregated data एकत्रीकरण द्वारा समूह के बाद समूहों को फ़िल्टर करना और समग्र फ़ंक्शन परिणामों को संदर्भित करना (उदाहरण के लिए HAVING COUNT(*) > 5); WHERE समग्र कार्यों को संदर्भित नहीं कर सकता क्योंकि यह एकत्रीकरण से पहले चलता है - एकत्रित डेटा के आधार पर फ़िल्टर करने के लिए HAVING आवश्यक है
WHERE is always more efficient than HAVING WHERE हमेशा HAVING से अधिक कुशल होता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) HAVING is necessary because: WHERE runs before aggregation (cannot reference aggregate functions). HAVING runs after GROUP BY aggregation (can reference COUNT, SUM, AVG, MAX, MIN results). Example: SELECT dept, COUNT(*) FROM emp GROUP BY dept HAVING COUNT(*) > 5 - impossible with WHERE.
व्याख्या (हिन्दी) HAVING आवश्यक है क्योंकि: WHERE एकत्रीकरण से पहले चलता है (कुल कार्यों का संदर्भ नहीं दे सकता)। समूह द्वारा एकत्रीकरण के बाद HAVING चलता है (COUNT, SUM, AVG, MAX, MIN परिणामों का संदर्भ दे सकता है)। उदाहरण: विभाग द्वारा विभाग का चयन करें, गिनती(*) को विभाग के अनुसार समूह से चुनें, जिसमें गिनती(*) > 5 - WHERE के साथ असंभव है।
🎯 Exam Perspective
DBMS ("SQL Basics" sub-topic) से जुड़ा यह सवाल — difficulty level "Medium" उन students के लिए काम का है जो SSC, Railway, Banking और State PCS की तैयारी कर रहे हैं। बेहतर होगा कि explanation पढ़कर concept clear करें, ताकि exam में similar प्रश्न आने पर confusion न हो।

Question 134

EN + हिं Medium
GB WHERE clause filters
IN जहां क्लॉज फिल्टर
Groups after aggregation एकत्रीकरण के बाद समूह
Individual rows BEFORE grouping based on condition स्थिति के आधार पर समूहीकरण से पहले व्यक्तिगत पंक्तियाँ
Only NULL rows केवल शून्य पंक्तियाँ
Joined tables सम्मिलित तालिकाएँ
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) WHERE: filters individual rows before grouping, based on a specified condition.
व्याख्या (हिन्दी) कहां: निर्दिष्ट स्थिति के आधार पर, समूहीकरण से पहले अलग-अलग पंक्तियों को फ़िल्टर करता है।
🎯 Exam Perspective
UPSC, SSC, Banking और Police भर्ती जैसी परीक्षाओं में DBMS ("SQL Basics" sub-topic) से सवाल अक्सर पूछे जाते हैं — difficulty level "Medium"। इसलिए सिर्फ answer रटने के बजाय, नीचे दी गई explanation को ध्यान से पढ़ें और concept समझें।

Question 135

EN + हिं Medium
GB HAVING clause filters
IN क्लॉज़ फ़िल्टर होना
Individual rows व्यक्तिगत पंक्तियाँ
Groups AFTER GROUP BY aggregation एकत्रीकरण द्वारा समूह के बाद समूह
Only NULL groups केवल शून्य समूह
NULL values शून्य मान
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) HAVING: filters groups AFTER GROUP BY. Cannot be replaced by WHERE for aggregates.
व्याख्या (हिन्दी) हैविंग: ग्रुप बाय के बाद समूहों को फ़िल्टर करता है। समुच्चय के लिए WHERE द्वारा प्रतिस्थापित नहीं किया जा सकता।
🎯 Exam Perspective
अगर आप Railway, SSC, Banking और Defence परीक्षाओं की तैयारी कर रहे हैं, तो DBMS ("SQL Basics" sub-topic) का यह topic आपके लिए महत्वपूर्ण है — difficulty level "Medium"। Exam में accuracy बढ़ाने के लिए हर सवाल की explanation जरूर पढ़ें।