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
91
EN + हिं Medium
GB What is the difference between TRUNCATE and DELETE without a WHERE clause in SQL?
IN SQL में WHERE क्लॉज के बिना TRUNCATE और DELETE के बीच क्या अंतर है?
A
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 में वापस नहीं लाया जा सकता है, और इसमें ट्रिगर नहीं हो सकते हैं। प्रत्येक पंक्ति को हटाने के लिए लॉग को हटाएं (धीमा, पूरी तरह से लेन-देन, आग को ट्रिगर करता है, वापस लाया जा सकता है)
B
TRUNCATE can have a WHERE clause; DELETE cannot TRUNCATE में WHERE क्लॉज हो सकता है; हटा नहीं सकते
C
They are identical operations वे समान परिचालन हैं
D
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 कर सकता है, पूरी तरह से रोलबैक करने योग्य।
92
EN + हिं Easy
GB In SQL what does DISTINCT do when used inside an aggregate function like COUNT(DISTINCT column)?
IN SQL में COUNT(DISTINCT कॉलम) जैसे समग्र फ़ंक्शन के अंदर उपयोग किए जाने पर DISTINCT क्या करता है?
A
It is identical to COUNT(column) without DISTINCT यह DISTINCT के बिना COUNT(कॉलम) के समान है
B
It filters out rows where column is NULL यह उन पंक्तियों को फ़िल्टर करता है जहां कॉलम शून्य है
C
It orders the count results यह गणना परिणामों का आदेश देता है
D
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 वेतन) केवल अद्वितीय वेतन मानों का योग करता है।
93
EN + हिं Medium
GB What is the purpose of SQL CHECK constraint and what are its limitations?
IN SQL CHECK बाधा का उद्देश्य क्या है और इसकी सीमाएँ क्या हैं?
A
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 में इसे पार्स किया गया था लेकिन लागू नहीं किया गया था
B
To verify query syntax before execution निष्पादन से पहले क्वेरी सिंटैक्स को सत्यापित करने के लिए
C
To check for NULL values in columns कॉलम में NULL मानों की जाँच करने के लिए
D
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 को नजरअंदाज कर दिया।
94
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 से अलग क्या लौटाता है?
A
They are semantically equivalent - both return unique department IDs वे शब्दार्थ की दृष्टि से समतुल्य हैं - दोनों अद्वितीय विभाग आईडी लौटाते हैं
B
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 सरल डिडुप्लीकेशन के लिए क्लीनर है
C
GROUP BY cannot be used without aggregate functions ग्रुप बाय का उपयोग समग्र कार्यों के बिना नहीं किया जा सकता है
D
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 अलग तरीके से काम करता है। आंतरिक रूप से, दोनों डिडुप्लीकेशन के लिए सॉर्टिंग या हैशिंग का उपयोग कर सकते हैं।
95
EN + हिं Easy
GB What is the BETWEEN operator in SQL and is it inclusive or exclusive of boundaries?
IN SQL में BETWEEN ऑपरेटर क्या है और क्या इसमें सीमाएँ सम्मिलित हैं या अनन्य हैं?
A
BETWEEN a AND b is INCLUSIVE of both endpoints - equivalent to >= a AND <= b (both a and b are included in the range) ए और बी के बीच दोनों समापन बिंदुओं का समावेश है - >= ए और के बराबर
B
BETWEEN is inclusive of lower bound, exclusive of upper bound बीच में निचली सीमा शामिल है, ऊपरी सीमा शामिल नहीं है
C
BETWEEN is exclusive of lower bound, inclusive of upper bound BETWEEN में निचली सीमा शामिल नहीं है, ऊपरी सीमा शामिल है
D
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 के बराबर
96
EN + हिं Easy
GB What is the SQL LIKE operator, and what do the wildcards % and _ represent?
IN SQL LIKE ऑपरेटर क्या है, और वाइल्डकार्ड % और _ क्या दर्शाते हैं?
A
They both match zero or more characters वे दोनों शून्य या अधिक वर्णों से मेल खाते हैं
B
% matches exactly one character; _ matches zero or more % बिल्कुल एक वर्ण से मेल खाता है; _ शून्य या अधिक से मेल खाता है
C
% matches zero or more characters (any sequence); _ matches exactly one character (any single character) - used for pattern matching in strings % शून्य या अधिक वर्णों (किसी भी क्रम) से मेल खाता है; _ बिल्कुल एक वर्ण (किसी एक वर्ण) से मेल खाता है - स्ट्रिंग में पैटर्न मिलान के लिए उपयोग किया जाता है
D
% 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 शामिल है)। केस संवेदनशीलता डीबीएमएस मिलान पर निर्भर करती है।
97
EN + हिं Medium
GB What is the difference between INNER JOIN and CROSS JOIN in SQL?
IN SQL में इनर जॉइन और क्रॉस जॉइन के बीच क्या अंतर है?
A
They are identical वे समान हैं
B
CROSS JOIN is faster than INNER JOIN क्रॉस जॉइन इनर जॉइन से तेज़ है
C
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 केवल जॉइन स्थिति के आधार पर दोनों तालिकाओं में मेल खाने वाली मान वाली पंक्तियाँ लौटाता है; क्रॉस जॉइन कार्टेशियन उत्पाद लौटाता है (दोनों तालिकाओं से पंक्तियों का प्रत्येक संयोजन, कोई जुड़ने की स्थिति नहीं)
D
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 पंक्तियाँ (सभी संयोजन) उत्पन्न करता है। क्रॉस जॉइन परीक्षण डेटा या संयोजन उत्पन्न करने के लिए उपयोगी है। चेतावनी: बड़े क्रॉस जॉइन्स भारी परिणाम सेट उत्पन्न करते हैं।
98
EN + हिं Easy
GB What is a recursive CTE (WITH RECURSIVE) in SQL and what problem does it solve?
IN SQL में रिकर्सिव CTE (रिकर्सिव के साथ) क्या है और यह किस समस्या का समाधान करता है?
A
A CTE that references itself for better performance एक सीटीई जो बेहतर प्रदर्शन के लिए खुद को संदर्भित करता है
B
A CTE that is defined within another CTE एक CTE जिसे किसी अन्य CTE के भीतर परिभाषित किया गया है
C
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 एक सीटीई जो पहले से गहराई को जाने बिना पदानुक्रमित/ग्राफ़ डेटा (जैसे ऑर्ग चार्ट, सामग्रियों का बिल, फ़ाइल सिस्टम) के ट्रैवर्सल को सक्षम करने का संदर्भ देता है - जब तक कोई और पंक्तियां नहीं जोड़ी जाती तब तक पेड़/ग्राफ़ संरचनाओं से पूछताछ की जाती है
D
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.
व्याख्या (हिन्दी) रिकर्सिव के साथ: इसमें बेस केस (प्रारंभिक पंक्तियाँ) यूनियन सभी रिकर्सिव केस (सीटीई में वापस जुड़ना) शामिल हैं। जब तक पुनरावर्ती भाग कोई नई पंक्तियाँ नहीं लौटाता, तब तक इसे पुनरावृत्त रूप से निष्पादित किया जाता है। हल: पेड़ों को पार करना (संगठन चार्ट, श्रेणियां), ग्राफ़ (पथ, कनेक्टिविटी), अनुक्रम, दिनांक श्रृंखला निर्माण।
99
EN + हिं Medium
GB What is a window function in SQL and how does it differ from aggregate functions?
IN SQL में विंडो फ़ंक्शन क्या है और यह समग्र फ़ंक्शंस से कैसे भिन्न है?
A
Window functions require PARTITION BY to work विंडो फ़ंक्शंस को काम करने के लिए PARTITION BY की आवश्यकता होती है
B
Window functions only work with ORDER BY विंडो फ़ंक्शंस केवल ORDER BY के साथ काम करते हैं
C
Window functions are identical to aggregate functions विंडो फ़ंक्शंस समग्र फ़ंक्शंस के समान हैं
D
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.
व्याख्या (हिन्दी) विंडो फ़ंक्शंस: संबंधित पंक्तियों की गणना करें (ओवर क्लॉज द्वारा परिभाषित) लेकिन प्रत्येक पंक्ति के लिए एक मान लौटाएं (संक्षिप्त नहीं)। समग्र कार्य (समूह द्वारा): समूहों को एकल सारांश पंक्तियों में संक्षिप्त करें। विंडो फ़ंक्शंस सक्षम करते हैं: रनिंग टोटल, रैंकिंग, मूविंग एवरेज, लैग/लीड तुलना।
100
EN + हिं Medium
GB What is the difference between a subquery and a derived table (inline view) in SQL?
IN SQL में सबक्वेरी और व्युत्पन्न तालिका (इनलाइन व्यू) के बीच क्या अंतर है?
A
They are always identical वे हमेशा एक जैसे होते हैं
B
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 क्लॉज में एक सबक्वेरी है जो बाहरी क्वेरी के लिए नामित अस्थायी तालिका के रूप में कार्य करती है - व्युत्पन्न तालिकाओं के लिए उपनाम की आवश्यकता होती है
C
Subqueries only appear in WHERE clauses; derived tables only in FROM सबक्वेरीज़ केवल WHERE क्लॉज में दिखाई देती हैं; केवल FROM में व्युत्पन्न तालिकाएँ
D
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।
101
EN + हिं Medium
GB What is the SQL HAVING clause and why is it necessary (can WHERE replace it)?
IN SQL HAVING क्लॉज़ क्या है और यह क्यों आवश्यक है (WHERE इसे प्रतिस्थापित कर सकता है)?
A
HAVING and WHERE are interchangeable होना और कहाँ विनिमेय हैं
B
HAVING is only for numeric data; WHERE handles text HAVING केवल संख्यात्मक डेटा के लिए है; WHERE टेक्स्ट को संभालता है
C
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 आवश्यक है
D
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 के साथ असंभव है।
102
EN + हिं Medium
GB What is the SQL standard window frame specification and how does ROWS differ from RANGE?
IN SQL मानक विंडो फ़्रेम विनिर्देश क्या है और ROWS RANGE से किस प्रकार भिन्न है?
A
Window frame only applies to ranking functions like ROW_NUMBER विंडो फ़्रेम केवल ROW_NUMBER जैसे रैंकिंग फ़ंक्शंस पर लागू होता है
B
Window frame is only used with non-aggregate window functions विंडो फ़्रेम का उपयोग केवल गैर-एग्रीगेट विंडो फ़ंक्शंस के साथ किया जाता है
C
Window frame defines the subset of rows within a partition considered for each calculation. ROWS: physical row offset (always a fixed number of rows). RANGE: logical value range (all rows within a specified value distance of current row's ORDER BY value, which may include many rows if duplicates exist) विंडो फ़्रेम प्रत्येक गणना के लिए विचार किए गए विभाजन के भीतर पंक्तियों के सबसेट को परिभाषित करता है। पंक्तियाँ: भौतिक पंक्ति ऑफ़सेट (हमेशा पंक्तियों की एक निश्चित संख्या)। रेंज: तार्किक मान सीमा (वर्तमान पंक्ति के ORDER BY मान की एक निर्दिष्ट मान दूरी के भीतर सभी पंक्तियाँ, जिसमें डुप्लिकेट मौजूद होने पर कई पंक्तियाँ शामिल हो सकती हैं)
D
ROWS and RANGE are interchangeable in all scenarios ROWS और RANGE सभी परिदृश्यों में विनिमेय हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) ROWS vs RANGE example: sales data with dates [Jan 1, Jan 1, Jan 2]. SUM OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT): Jan1-row2 sums exactly 2 rows. SUM OVER (ORDER BY date RANGE BETWEEN 1 PRECEDING AND CURRENT): Jan1-row2 sums ALL Jan1 rows + all rows within 1 day. RANGE with duplicates can produce unexpected results. GROUPS (SQL:2011 3rd option) counts peer groups.
व्याख्या (हिन्दी) पंक्तियाँ बनाम रेंज उदाहरण: दिनांकों के साथ बिक्री डेटा [जनवरी 1, जनवरी 1, जनवरी 2]। कुल योग (तिथि के अनुसार क्रम 1 पूर्ववर्ती और वर्तमान के बीच की पंक्तियाँ): Jan1-पंक्ति2 ठीक 2 पंक्तियों का योग है। कुल योग (1 पूर्ववर्ती और वर्तमान के बीच दिनांक सीमा के अनुसार क्रमबद्ध करें): जनवरी1-पंक्ति2 सभी जनवरी1 पंक्तियों + 1 दिन के भीतर सभी पंक्तियों का योग। डुप्लिकेट के साथ RANGE अप्रत्याशित परिणाम उत्पन्न कर सकता है। समूह (एसक्यूएल:2011 तीसरा विकल्प) सहकर्मी समूहों की गणना करता है।
103
EN + हिं Medium
GB What is SQL grouping sets feature and how does it extend GROUP BY?
IN SQL ग्रुपिंग सेट सुविधा क्या है और यह GROUP BY का विस्तार कैसे करती है?
A
GROUPING SETS allows computing multiple GROUP BY aggregations in a single query pass; ROLLUP generates subtotals and grand total for a hierarchy; CUBE generates all possible combinations of group-by columns; more efficient than multiple UNION ALL queries because the data is scanned only once ग्रुपिंग सेट एक ही क्वेरी पास में एकत्रीकरण द्वारा एकाधिक ग्रुप की गणना करने की अनुमति देता है; रोलअप पदानुक्रम के लिए उप-योग और कुल योग उत्पन्न करता है; CUBE समूह-दर-स्तंभों के सभी संभावित संयोजन उत्पन्न करता है; एकाधिक यूनियन सभी क्वेरीज़ की तुलना में अधिक कुशल क्योंकि डेटा केवल एक बार स्कैन किया जाता है
B
Grouping sets are only available in Oracle and SQL Server databases ग्रुपिंग सेट केवल Oracle और SQL सर्वर डेटाबेस में उपलब्ध हैं
C
A way to group results into fixed sets of 10 rows each परिणामों को 10 पंक्तियों के निश्चित सेटों में समूहित करने का एक तरीका
D
Grouping sets are identical to regular GROUP BY with HAVING clause ग्रुपिंग सेट HAVING क्लॉज के साथ नियमित ग्रुप BY के समान हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) GROUPING SETS((dept),(region),(dept,region),()) = GROUP BY dept UNION ALL GROUP BY region UNION ALL GROUP BY dept,region UNION ALL grand total. ROLLUP(year,quarter,month) = (year,quarter,month)+(year,quarter)+(year)+(). CUBE(gender,dept) = all 4 combinations. GROUPING() function returns 1 for NULL from aggregation (vs actual NULL in data). Used in reporting/OLAP queries.
व्याख्या (हिन्दी) ग्रुपिंग सेट((विभाग),(क्षेत्र),(विभाग,क्षेत्र),()) = विभाग के अनुसार समूह यूनियन सभी क्षेत्र के अनुसार समूह यूनियन सभी समूह विभाग के अनुसार, क्षेत्र संघ सभी कुल मिलाकर। रोलअप(वर्ष,तिमाही,महीना) = (वर्ष,तिमाही,महीना)+(वर्ष,तिमाही)+(वर्ष)+(). घन (लिंग, विभाग) = सभी 4 संयोजन। ग्रुपिंग() फ़ंक्शन एकत्रीकरण से NULL के लिए 1 लौटाता है (डेटा में वास्तविक NULL बनाम)। रिपोर्टिंग/ओएलएपी प्रश्नों में उपयोग किया जाता है।
104
EN + हिं Easy
GB What is a lateral join or APPLY operator in SQL and what makes it different from a regular join?
IN SQL में लेटरल जॉइन या APPLY ऑपरेटर क्या है और इसे नियमित जॉइन से क्या अलग बनाता है?
A
LATERAL joins only work with aggregate functions in the subquery LATERAL केवल सबक्वेरी में समग्र कार्यों के साथ कार्य को जोड़ता है
B
LATERAL (PostgreSQL/SQL standard) or CROSS APPLY/OUTER APPLY (SQL Server): allows a subquery or table-valued function in the FROM clause to reference columns from preceding tables in the same FROM clause; a regular derived table subquery cannot reference outer columns - LATERAL enables correlated subqueries in the FROM clause लेटरल (पोस्टग्रेएसक्यूएल/एसक्यूएल मानक) या क्रॉस अप्लाई/आउटर अप्लाई (एसक्यूएल सर्वर): FROM क्लॉज में एक सबक्वेरी या टेबल-वैल्यू फ़ंक्शन को उसी FROM क्लॉज में पूर्ववर्ती तालिकाओं से संदर्भ कॉलम की अनुमति देता है; एक नियमित व्युत्पन्न तालिका सबक्वेरी बाहरी स्तंभों को संदर्भित नहीं कर सकती - LATERAL FROM क्लॉज में सहसंबद्ध सबक्वेरी को सक्षम करता है
C
A join that only works with lateral (side) tables in a schema एक जुड़ाव जो स्कीमा में केवल पार्श्व (साइड) तालिकाओं के साथ काम करता है
D
LATERAL is a synonym for NATURAL JOIN in SQL standard LATERAL SQL मानक में NATURAL JOIN का पर्याय है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) LATERAL example: SELECT c.name, recent.amount FROM customers c JOIN LATERAL (SELECT amount FROM orders WHERE cust_id=c.id ORDER BY date DESC LIMIT 3) recent ON true. Without LATERAL: cannot reference c.id in the subquery FROM. SQL Server: CROSS APPLY (like INNER JOIN LATERAL), OUTER APPLY (like LEFT JOIN LATERAL). Enables: top-N per group, unnesting arrays, calling TVFs with per-row args.
व्याख्या (हिन्दी) लेटरल उदाहरण: सी.नाम चुनें, ग्राहकों से हाल की राशि सी जॉइन लैटरल (ऑर्डर से राशि चुनें जहां cust_id=c.id दिनांक DESC LIMIT 3 के अनुसार ऑर्डर करें) हाल ही में सत्य पर। LATERAL के बिना: सबक्वेरी FROM में c.id का संदर्भ नहीं दिया जा सकता। एसक्यूएल सर्वर: क्रॉस अप्लाई (इनर जॉइन लेटरल की तरह), आउटर अप्लाई (लेफ्ट जॉइन लेटरल की तरह)। सक्षम करता है: प्रति समूह टॉप-एन, अननेस्टिंग ऐरे, प्रति-पंक्ति आर्ग के साथ टीवीएफ को कॉल करना।
105
EN + हिं Easy
GB What is the correct logical execution order of SQL clauses in a SELECT statement?
IN SELECT स्टेटमेंट में SQL क्लॉज का सही तार्किक निष्पादन क्रम क्या है?
A
WHERE FROM SELECT GROUP BY HAVING ORDER BY जहां से ऑर्डर लेकर चुनिंदा ग्रुप से
B
SELECT WHERE FROM HAVING GROUP BY ORDER BY ऑर्डर के अनुसार समूह से कहां का चयन करें
C
FROM WHERE GROUP BY HAVING SELECT ORDER BY LIMIT जहां से लिमिट के अनुसार ऑर्डर का चयन करके ग्रुप बनाएं
D
SELECT FROM WHERE GROUP BY HAVING ORDER BY ऑर्डर देकर कहां से ग्रुप चुनें
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Logical SQL execution order: FROM (get tables/joins) -> WHERE (filter rows) -> GROUP BY (group rows) -> HAVING (filter groups) -> SELECT (compute output columns) -> ORDER BY (sort) -> LIMIT/OFFSET (paginate).
व्याख्या (हिन्दी) तार्किक एसक्यूएल निष्पादन क्रम: FROM (टेबल/जॉइन प्राप्त करें) -> कहां (फ़िल्टर पंक्तियाँ) -> ग्रुप बाय (समूह पंक्तियाँ) -> हैविंग (फ़िल्टर समूह) -> चयन करें (आउटपुट कॉलम की गणना करें) -> ऑर्डर बाय (सॉर्ट) -> लिमिट/ऑफ़सेट (पेजिनेट)।
91–105 of 150