DBMS — MCQ Practice

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

📚 2982 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
2982 questions
1546
EN + हिं Easy
GB What is the effect of DROP COLUMN on a table with indexes and foreign keys referencing that column?
IN उस कॉलम को संदर्भित करने वाली अनुक्रमणिका और विदेशी कुंजियों वाली तालिका पर DROP COLUMN का क्या प्रभाव होता है?
A
It silently preserves all indexes with NULL values for the dropped column यह गिराए गए कॉलम के लिए NULL मान वाले सभी इंडेक्स को चुपचाप संरक्षित करता है
B
It drops only the column data but keeps the indexes यह केवल कॉलम डेटा छोड़ता है लेकिन इंडेक्स रखता है
C
Most DBMS automatically drop all indexes that include the dropped column and reject the operation if any foreign key references the dropped column (requiring you to drop the FK first) - or CASCADE can be used to drop dependent objects too अधिकांश DBMS स्वचालित रूप से सभी इंडेक्स को हटा देते हैं जिसमें गिरा हुआ कॉलम शामिल होता है और यदि कोई विदेशी कुंजी गिराए गए कॉलम को संदर्भित करता है तो ऑपरेशन को अस्वीकार कर देता है (आपको पहले FK को छोड़ने की आवश्यकता होती है) - या CASCADE का उपयोग निर्भर वस्तुओं को छोड़ने के लिए भी किया जा सकता है
D
It converts the column to NULL before dropping यह ड्रॉप करने से पहले कॉलम को NULL में बदल देता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) DROP COLUMN behavior: dependent indexes on that column are automatically dropped. FK constraints referencing the column as a foreign key (in other tables) are typically rejected - you must DROP the FK first or use DROP COLUMN CASCADE (PostgreSQL). CHECK constraints using the column are also dropped.
व्याख्या (हिन्दी) ड्रॉप कॉलम व्यवहार: उस कॉलम पर निर्भर इंडेक्स स्वचालित रूप से हटा दिए जाते हैं। कॉलम को एक विदेशी कुंजी (अन्य तालिकाओं में) के रूप में संदर्भित करने वाली FK बाधाओं को आम तौर पर अस्वीकार कर दिया जाता है - आपको पहले FK को छोड़ना होगा या DROP COLUMN CASCADE (PostgreSQL) का उपयोग करना होगा। CHECK कॉलम का उपयोग करने वाली बाधाएं भी हटा दी गई हैं।
1547
EN + हिं Medium
GB What is the SQL standard DEFAULT clause and how does it interact with INSERT statements?
IN SQL मानक DEFAULT क्लॉज क्या है और यह INSERT कथनों के साथ कैसे इंटरैक्ट करता है?
A
DEFAULT is only for NOT NULL columns डिफ़ॉल्ट केवल शून्य नहीं कॉलम के लिए है
B
DEFAULT only applies to UPDATE statements not INSERT डिफ़ॉल्ट केवल अद्यतन विवरण पर लागू होता है INSERT पर नहीं
C
DEFAULT forces a column to always have the same value डिफ़ॉल्ट किसी कॉलम को हमेशा समान मान रखने के लिए बाध्य करता है
D
DEFAULT clause in CREATE TABLE specifies the value to use when an INSERT statement does not provide a value for that column - can be a literal value a function call (like NOW()) or a sequence reference CREATE TABLE में डिफ़ॉल्ट क्लॉज उस मूल्य को निर्दिष्ट करता है जिसका उपयोग तब किया जाना चाहिए जब एक INSERT कथन उस कॉलम के लिए कोई मान प्रदान नहीं करता है - एक फ़ंक्शन कॉल का शाब्दिक मान हो सकता है (जैसे NOW()) या एक अनुक्रम संदर्भ
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) DEFAULT clause: CREATE TABLE t (created_at TIMESTAMP DEFAULT NOW(), status VARCHAR(20) DEFAULT pending). INSERT INTO t (col1) VALUES (val1): created_at gets NOW(), status gets pending. INSERT INTO t (col1, status) VALUES (val1, DEFAULT): explicitly uses default value.
व्याख्या (हिन्दी) डिफ़ॉल्ट क्लॉज: टेबल बनाएं (अभी टाइमस्टैम्प पर बनाया गया है(), स्थिति VARCHAR(20) डिफ़ॉल्ट लंबित है)। t (col1) मानों (val1) में सम्मिलित करें: create_at को अभी() मिलता है, स्थिति लंबित हो जाती है। टी (कॉल1, स्थिति) मानों में सम्मिलित करें (वैल1, डिफ़ॉल्ट): स्पष्ट रूप से डिफ़ॉल्ट मान का उपयोग करता है।
1548
EN + हिं Medium
GB What is the difference between a UNIQUE constraint and a UNIQUE index in most DBMS?
IN अधिकांश DBMS में UNIQUE बाधा और UNIQUE सूचकांक के बीच क्या अंतर है?
A
Functionally they are equivalent in most DBMS - a UNIQUE constraint is typically implemented internally as a UNIQUE index; the difference is declarative (UNIQUE constraint) vs. explicit (CREATE UNIQUE INDEX) - both prevent duplicate values कार्यात्मक रूप से वे अधिकांश DBMS में समतुल्य हैं - एक UNIQUE बाधा आमतौर पर UNIQUE सूचकांक के रूप में आंतरिक रूप से लागू की जाती है; अंतर घोषणात्मक (अद्वितीय बाधा) बनाम स्पष्ट (अद्वितीय सूचकांक बनाएं) है - दोनों डुप्लिकेट मानों को रोकते हैं
B
UNIQUE index is always faster than UNIQUE constraint UNIQUE सूचकांक हमेशा UNIQUE बाधा से तेज़ होता है
C
UNIQUE constraint allows NULL; UNIQUE index does not अद्वितीय बाधा शून्य की अनुमति देती है; अद्वितीय सूचकांक नहीं है
D
UNIQUE constraint is enforced by the application; UNIQUE index by the DBMS एप्लिकेशन द्वारा अद्वितीय बाधा लागू की जाती है; डीबीएमएस द्वारा अद्वितीय सूचकांक
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) In most DBMS (MySQL, PostgreSQL, SQL Server): UNIQUE constraint = UNIQUE index internally. Both prevent duplicate values (with NULL handling varying by DBMS). UNIQUE constraint is the declarative, SQL-standard way. CREATE UNIQUE INDEX is explicit and gives more control over index name, type, and storage options.
व्याख्या (हिन्दी) अधिकांश DBMS (MySQL, PostgreSQL, SQL सर्वर) में: अद्वितीय बाधा = आंतरिक रूप से अद्वितीय सूचकांक। दोनों डुप्लिकेट मानों को रोकते हैं (DBMS द्वारा भिन्न-भिन्न NULL हैंडलिंग के साथ)। अद्वितीय बाधा घोषणात्मक, SQL-मानक तरीका है। क्रिएट यूनिक इंडेक्स स्पष्ट है और इंडेक्स नाम, प्रकार और भंडारण विकल्पों पर अधिक नियंत्रण देता है।
1549
EN + हिं Easy
GB What is the SQL standard CREATE VIEW statement and what properties must hold for a view to be created successfully?
IN SQL मानक क्रिएट व्यू स्टेटमेंट क्या है और किसी व्यू को सफलतापूर्वक बनाने के लिए कौन से गुण होने चाहिए?
A
Views can be created from any SQL statement किसी भी SQL कथन से दृश्य बनाए जा सकते हैं
B
Views must always reference at least two base tables दृश्यों को हमेशा कम से कम दो आधार तालिकाओं का संदर्भ देना चाहिए
C
A view is created from a valid SELECT statement; key requirements vary by DBMS but typically: no ORDER BY in the view definition (without LIMIT/TOP), consistent column names (either from SELECT or via aliases), and the underlying tables/views must exist एक वैध चयन कथन से एक दृश्य बनाया जाता है; मुख्य आवश्यकताएँ DBMS के अनुसार अलग-अलग होती हैं, लेकिन आम तौर पर: दृश्य परिभाषा में कोई ORDER BY नहीं (बिना LIMIT/TOP), सुसंगत कॉलम नाम (या तो SELECT से या उपनाम के माध्यम से), और अंतर्निहित तालिकाएँ/दृश्य मौजूद होने चाहिए
D
Views can include INSERT UPDATE DELETE statements दृश्यों में INSERT UPDATE DELETE कथन शामिल हो सकते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) CREATE VIEW view_name AS SELECT col1, col2, expr AS alias FROM table WHERE condition. Requirements: unique column names (use aliases for computed columns or duplicates), no parameters (unlike table-valued functions), underlying tables must exist. ORDER BY in view is allowed only if TOP/LIMIT is used (implementation-specific).
व्याख्या (हिन्दी) व्यू व्यू_नेम को टेबल से सेलेक्ट col1, col2, expr AS उपनाम के रूप में बनाएं जहां की स्थिति है। आवश्यकताएँ: अद्वितीय कॉलम नाम (गणना किए गए कॉलम या डुप्लिकेट के लिए उपनाम का उपयोग करें), कोई पैरामीटर नहीं (तालिका-मूल्यवान फ़ंक्शन के विपरीत), अंतर्निहित तालिकाएं मौजूद होनी चाहिए। ऑर्डर बाय को केवल तभी अनुमति दी जाती है जब टॉप/लिमिट का उपयोग किया जाता है (कार्यान्वयन-विशिष्ट)।
1550
EN + हिं Medium
GB What is the purpose of ALTER TABLE RENAME and does it affect dependent objects?
IN ALTER TABLE RENAME का उद्देश्य क्या है और क्या यह निर्भर वस्तुओं को प्रभावित करता है?
A
ALTER TABLE old_name RENAME TO new_name changes the table name; most DBMS automatically update references in foreign key constraints but views stored procedures and application code may break - the impact depends on DBMS version and dependency management capabilities तालिका का पुराना नाम बदलकर नए_नाम में बदलने से तालिका का नाम बदल जाता है; अधिकांश DBMS स्वचालित रूप से विदेशी कुंजी बाधाओं में संदर्भों को अपडेट करते हैं लेकिन संग्रहित प्रक्रियाओं और एप्लिकेशन कोड को तोड़ सकते हैं - प्रभाव DBMS संस्करण और निर्भरता प्रबंधन क्षमताओं पर निर्भर करता है
B
It temporarily aliases the table name यह अस्थायी रूप से तालिका नाम को उपनाम देता है
C
It creates a copy of the table with the new name यह नए नाम के साथ तालिका की एक प्रति बनाता है
D
It only changes the table name in the catalog यह केवल कैटलॉग में तालिका का नाम बदलता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) ALTER TABLE RENAME: changes table name in the system catalog. Most modern DBMS (PostgreSQL, MySQL 8.0+) update FK references automatically. BUT: views that reference the old table name may become invalid, stored procedures/functions referencing the old name break, application code using hardcoded table names must be updated.
व्याख्या (हिन्दी) तालिका का नाम बदलें: सिस्टम कैटलॉग में तालिका का नाम बदलता है। अधिकांश आधुनिक DBMS (PostgreSQL, MySQL 8.0+) FK संदर्भों को स्वचालित रूप से अपडेट करते हैं। लेकिन: पुराने तालिका नाम को संदर्भित करने वाले दृश्य अमान्य हो सकते हैं, पुराने नाम को संदर्भित करने वाली संग्रहीत कार्यविधियाँ/फ़ंक्शन, हार्डकोडेड तालिका नामों का उपयोग करने वाले एप्लिकेशन कोड को अद्यतन किया जाना चाहिए।
1551
EN + हिं Medium
GB What is the SQL COMMENT statement and how is metadata typically managed in production databases?
IN SQL COMMENT कथन क्या है और मेटाडेटा को आमतौर पर उत्पादन डेटाबेस में कैसे प्रबंधित किया जाता है?
A
Comments replace actual column/table names टिप्पणियाँ वास्तविक कॉलम/तालिका नामों का स्थान ले लेती हैं
B
COMMENT ON is only available in Oracle databases COMMENT ON केवल Oracle डेटाबेस में उपलब्ध है
C
Comments are only in SQL code not stored in the database टिप्पणियाँ केवल SQL कोड में हैं, डेटाबेस में संग्रहीत नहीं हैं
D
COMMENT ON TABLE/COLUMN/INDEX stores metadata descriptions in the system catalog (standard SQL); in production databases metadata management also includes: documentation in data catalogs (Apache Atlas, Collibra), ERD tools, and data dictionaries maintained alongside the schema टेबल/कॉलम/इंडेक्स पर टिप्पणी सिस्टम कैटलॉग (मानक एसक्यूएल) में मेटाडेटा विवरण संग्रहीत करती है; उत्पादन डेटाबेस में मेटाडेटा प्रबंधन में यह भी शामिल है: डेटा कैटलॉग में दस्तावेज़ीकरण (अपाचे एटलस, कोलिब्रा), ईआरडी उपकरण, और स्कीमा के साथ बनाए गए डेटा शब्दकोश
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) COMMENT ON TABLE emp IS Employee master table; COMMENT ON COLUMN emp.salary IS Annual salary in USD (not including bonuses). Stored in system catalog (information_schema.column_comments in MySQL, pg_description in PostgreSQL). Production metadata management: data catalog tools track lineage, ownership, PII classification, business definitions.
व्याख्या (हिन्दी) टेबल एम्प पर टिप्पणी कर्मचारी मास्टर टेबल है; कॉलम पर टिप्पणी emp.salary USD में वार्षिक वेतन है (बोनस शामिल नहीं)। सिस्टम कैटलॉग में संग्रहीत (MySQL में information_schema.column_comments, PostgreSQL में pg_description)। उत्पादन मेटाडेटा प्रबंधन: डेटा कैटलॉग उपकरण वंश, स्वामित्व, पीआईआई वर्गीकरण, व्यावसायिक परिभाषाओं को ट्रैक करते हैं।
1552
EN + हिं Medium
GB What is the difference between INSERT INTO VALUES and INSERT INTO SELECT?
IN INSERT INTO वैल्यूज़ और INSERT INTO SELECT के बीच क्या अंतर है?
A
INSERT VALUES: inserts one or more explicitly specified rows; INSERT SELECT: inserts rows derived from a SELECT query result enabling bulk insertion from other tables or complex expressions मान सम्मिलित करें: एक या अधिक स्पष्ट रूप से निर्दिष्ट पंक्तियाँ सम्मिलित करें; चयन सम्मिलित करें: एक चयन क्वेरी परिणाम से प्राप्त पंक्तियों को सम्मिलित करता है जो अन्य तालिकाओं या जटिल अभिव्यक्तियों से थोक प्रविष्टि को सक्षम करता है
B
They are identical in functionality वे कार्यक्षमता में समान हैं
C
INSERT SELECT is faster but less accurate INSERT SELECT तेज़ है लेकिन कम सटीक है
D
INSERT VALUES supports multiple rows; INSERT SELECT supports only one row INSERT VALUES एकाधिक पंक्तियों का समर्थन करता है; INSERT SELECT केवल एक पंक्ति का समर्थन करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) INSERT...VALUES: specify literal values directly, used for one or multiple explicit rows. INSERT...SELECT: queries source data and inserts all results into target table atomically, useful for bulk loads, data migration, creating backup copies, and populating summary tables.
व्याख्या (हिन्दी) सम्मिलित करें...मान: सीधे शाब्दिक मान निर्दिष्ट करें, एक या एकाधिक स्पष्ट पंक्तियों के लिए उपयोग किया जाता है। सम्मिलित करें...चयन करें: स्रोत डेटा से पूछताछ करता है और सभी परिणामों को परमाणु रूप से लक्ष्य तालिका में सम्मिलित करता है, जो बल्क लोड, डेटा माइग्रेशन, बैकअप प्रतियां बनाने और सारांश तालिकाओं को पॉप्युलेट करने के लिए उपयोगी है।
1553
EN + हिं Easy
GB In SQL what is the behavior of an UPDATE statement without a WHERE clause?
IN SQL में WHERE क्लॉज़ के बिना UPDATE स्टेटमेंट का व्यवहार क्या होता है?
A
It updates only the first row यह केवल पहली पंक्ति को अद्यतन करता है
B
It fails with an error यह एक त्रुटि के साथ विफल हो जाता है
C
It creates a transaction that must be manually committed यह एक लेनदेन बनाता है जिसे मैन्युअल रूप से प्रतिबद्ध किया जाना चाहिए
D
It updates ALL rows in the table - a common and dangerous mistake that can corrupt entire tables. The UPDATE executes successfully but affects every row यह तालिका में सभी पंक्तियों को अद्यतन करता है - एक सामान्य और खतरनाक गलती जो संपूर्ण तालिकाओं को दूषित कर सकती है। अद्यतन सफलतापूर्वक निष्पादित होता है लेकिन प्रत्येक पंक्ति को प्रभावित करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) UPDATE without WHERE: updates every single row in the table. This is a common production accident. Best practice: always write the WHERE clause first, then add the SET clause. Use transactions and test with SELECT using same WHERE before executing UPDATE.
व्याख्या (हिन्दी) बिना WHERE के अद्यतन करें: तालिका में प्रत्येक पंक्ति को अद्यतन करता है। यह एक सामान्य उत्पादन दुर्घटना है. सर्वोत्तम अभ्यास: हमेशा पहले WHERE क्लॉज लिखें, फिर SET क्लॉज जोड़ें। लेनदेन का उपयोग करें और अद्यतन निष्पादित करने से पहले WHERE का उपयोग करके SELECT के साथ परीक्षण करें।
1554
EN + हिं Medium
GB What is SQL INSERT OR REPLACE (MySQL: REPLACE INTO) and how does it differ from INSERT OR IGNORE?
IN SQL INSERT OR REPLACE (MySQL: REPLACE INTO) क्या है और यह INSERT OR IGNORE से किस प्रकार भिन्न है?
A
REPLACE INTO: if a duplicate key violation occurs deletes the existing row and inserts the new row (auto-increments change); INSERT OR IGNORE: if duplicate key silently ignores the insert and keeps the original row unchanged इसमें बदलें: यदि डुप्लिकेट कुंजी का उल्लंघन होता है तो मौजूदा पंक्ति को हटा दिया जाता है और नई पंक्ति सम्मिलित कर दी जाती है (स्वचालित-वृद्धि परिवर्तन); सम्मिलित करें या अनदेखा करें: यदि डुप्लिकेट कुंजी चुपचाप सम्मिलित को अनदेखा कर देती है और मूल पंक्ति को अपरिवर्तित रखती है
B
Both operations update the existing row दोनों ऑपरेशन मौजूदा पंक्ति को अद्यतन करते हैं
C
INSERT OR IGNORE replaces the row; REPLACE INTO ignores it सम्मिलित करें या अनदेखा करें पंक्ति को प्रतिस्थापित करता है; REPLACE INTO इसे अनदेखा कर देता है
D
They are identical operations वे समान परिचालन हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) REPLACE INTO: DELETE + INSERT on conflict (loses old row, new auto_increment generated). INSERT IGNORE: on conflict, silently skip (original preserved, no error). INSERT ON DUPLICATE KEY UPDATE (MySQL) / INSERT ON CONFLICT DO UPDATE (PostgreSQL): update specific columns on conflict.
व्याख्या (हिन्दी) इसमें बदलें: विरोध पर हटाएं + सम्मिलित करें (पुरानी पंक्ति खो जाती है, नई ऑटो_वृद्धि उत्पन्न होती है)। अनदेखा करें सम्मिलित करें: विरोध होने पर, चुपचाप छोड़ें (मूल संरक्षित, कोई त्रुटि नहीं)। डुप्लिकेट कुंजी अद्यतन पर सम्मिलित करें (MySQL) / संघर्ष पर सम्मिलित करें अद्यतन करें (पोस्टग्रेएसक्यूएल): संघर्ष पर विशिष्ट कॉलम अपडेट करें।
1555
EN + हिं Medium
GB What is the SQL UPDATE JOIN syntax used for?
IN SQL UPDATE JOIN सिंटैक्स का उपयोग किसके लिए किया जाता है?
A
Performing a JOIN query that includes update logic एक JOIN क्वेरी निष्पादित करना जिसमें अद्यतन तर्क शामिल है
B
Joining two UPDATE statements दो अद्यतन कथनों को जोड़ना
C
Updating foreign key relationships विदेशी कुंजी संबंधों को अद्यतन करना
D
Updating rows in one table based on conditions or values from another table by joining them within the UPDATE statement किसी अन्य तालिका की शर्तों या मानों के आधार पर एक तालिका में पंक्तियों को अद्यतन कथन के भीतर जोड़कर अद्यतन करना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) UPDATE with JOIN: UPDATE orders o JOIN customers c ON o.cust_id=c.id SET o.discount=0.1 WHERE c.tier=gold. Updates order discounts based on customer tier from another table. MySQL syntax differs from standard SQL which uses UPDATE...SET...WHERE col IN (SELECT...) and PostgreSQL uses UPDATE...FROM...WHERE.
व्याख्या (हिन्दी) जॉइन के साथ अपडेट करें: ऑर्डर अपडेट करें ओ ग्राहकों से जुड़ें सी ऑन ओ.कस्ट_आईडी=सी.आईडी सेट ओ.डिस्काउंट=0.1 जहां सी.टीयर=गोल्ड। किसी अन्य तालिका से ग्राहक स्तर के आधार पर ऑर्डर छूट को अद्यतन करता है। MySQL सिंटैक्स मानक SQL से भिन्न है जो UPDATE...SET...WHERE col IN (SELECT...) का उपयोग करता है और PostgreSQL UPDATE...FROM...WHERE का उपयोग करता है।
1556
EN + हिं Medium
GB What is INSERT ON CONFLICT DO UPDATE (UPSERT) in PostgreSQL and how does it work?
IN PostgreSQL में INSERT ON CONFLICT DO UPDATE (UPSERT) क्या है और यह कैसे काम करता है?
A
An operation that updates existing rows and inserts new ones in two separate steps एक ऑपरेशन जो मौजूदा पंक्तियों को अद्यतन करता है और दो अलग-अलग चरणों में नई पंक्तियाँ सम्मिलित करता है
B
PostgreSQL syntax for upsert: attempts an INSERT and if a conflict on a specified constraint/column occurs updates the existing row instead of failing - atomic single-statement operation अप्सर्ट के लिए PostgreSQL सिंटैक्स: INSERT का प्रयास करता है और यदि किसी निर्दिष्ट बाधा/कॉलम पर कोई विरोध होता है तो विफल होने के बजाय मौजूदा पंक्ति को अपडेट करता है - परमाणु एकल-कथन ऑपरेशन
C
A PostgreSQL-specific error handling mechanism एक PostgreSQL-विशिष्ट त्रुटि प्रबंधन तंत्र
D
A constraint that prevents conflicting inserts एक बाधा जो परस्पर विरोधी प्रविष्टियों को रोकती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) INSERT INTO t (id, val) VALUES (1, new) ON CONFLICT (id) DO UPDATE SET val=EXCLUDED.val; - EXCLUDED refers to the row that failed to insert. MySQL equivalent: INSERT...ON DUPLICATE KEY UPDATE. Atomic upsert avoids race conditions of SELECT-then-INSERT-or-UPDATE.
व्याख्या (हिन्दी) टी (आईडी, वैल) मूल्यों में डालें (1, नया) संघर्ष पर (आईडी) सेट अपडेट करें val=EXCLUDED.val; - बहिष्कृत उस पंक्ति को संदर्भित करता है जो सम्मिलित करने में विफल रही। MySQL समतुल्य: डुप्लिकेट कुंजी अद्यतन पर सम्मिलित करें... एटॉमिक अपसर्ट SELECT-then-INSERT-or-UPDATE की दौड़ स्थितियों से बचता है।
1557
EN + हिं Easy
GB What does DELETE FROM table1 WHERE id IN (SELECT id FROM table2 WHERE condition) accomplish?
IN DELETE FROMtable1 WHERE id IN (SELECT id FROMtable2 WHEREcondition) क्या पूरा करता है?
A
Creates a backup of deleted rows in table2 तालिका 2 में हटाई गई पंक्तियों का बैकअप बनाता है
B
Deletes rows from table1 whose id values exist in the result set of the subquery from table2 - a correlated delete that removes specific rows based on data in another table तालिका 1 से उन पंक्तियों को हटाता है जिनके आईडी मान तालिका 2 से सबक्वेरी के परिणाम सेट में मौजूद हैं - एक सहसंबद्ध डिलीट जो किसी अन्य तालिका में डेटा के आधार पर विशिष्ट पंक्तियों को हटा देता है
C
Deletes rows from table2 where condition is true तालिका 2 से पंक्तियाँ हटाता है जहाँ शर्त सत्य है
D
Deletes matching rows from both table1 and table2 simultaneously तालिका 1 और तालिका 2 दोनों से मेल खाने वाली पंक्तियों को एक साथ हटा देता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Subquery delete: identifies candidate IDs from table2 using the subquery condition, then deletes those matching rows from table1. Common pattern for cleanup operations. MySQL requires: DELETE t1 FROM t1 JOIN t2 ON ... (cannot use the same table in FROM and subquery in MySQL).
व्याख्या (हिन्दी) सबक्वेरी हटाएं: सबक्वेरी शर्त का उपयोग करके तालिका 2 से उम्मीदवार आईडी की पहचान करता है, फिर तालिका 1 से उन मिलान पंक्तियों को हटा देता है। सफ़ाई कार्यों के लिए सामान्य पैटर्न. MySQL के लिए आवश्यक है: t1 से t1 हटाएं, t2 पर शामिल हों... (FROM में एक ही तालिका और MySQL में सबक्वेरी का उपयोग नहीं किया जा सकता)।
1558
EN + हिं Medium
GB What is the SQL RETURNING clause (PostgreSQL SQLite) used for in DML statements?
IN DML स्टेटमेंट में SQL रिटर्निंग क्लॉज (PostgreSQL SQLite) का उपयोग किसके लिए किया जाता है?
A
Returns the values of specified columns from rows that were inserted updated or deleted - useful for retrieving auto-generated values (like IDENTITY/serial IDs) or changed values without a subsequent SELECT उन पंक्तियों से निर्दिष्ट कॉलम के मान लौटाता है जिन्हें अद्यतन या हटा दिया गया था - स्वचालित रूप से जेनरेट किए गए मान (जैसे पहचान/सीरियल आईडी) या बाद के चयन के बिना परिवर्तित मान पुनर्प्राप्त करने के लिए उपयोगी
B
Returning a result set from a stored procedure संग्रहीत प्रक्रिया से परिणाम सेट लौटाना
C
Returning the number of rows affected by the DML डीएमएल से प्रभावित पंक्तियों की संख्या लौटाना
D
Returning error codes from DML operations डीएमएल परिचालन से त्रुटि कोड लौटाना
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) RETURNING (PostgreSQL): INSERT INTO t (col) VALUES (v) RETURNING id; - returns the generated ID. UPDATE t SET col=val WHERE id=x RETURNING old_col, new_col; DELETE FROM t WHERE x RETURNING deleted_col; SQL Server uses OUTPUT clause for similar functionality.
व्याख्या (हिन्दी) रिटर्निंग (पोस्टग्रेएसक्यूएल): टी (कॉल) मानों में डालें (v) रिटर्निंग आईडी; - जनरेट की गई आईडी लौटाता है। अद्यतन करें t SET col=val जहां id=x पुराना_col, new_col लौटा रहा है; वहां से हटाएं जहां x लौटाया जा रहा है delete_col; SQL सर्वर समान कार्यक्षमता के लिए OUTPUT क्लॉज का उपयोग करता है।
1559
EN + हिं Easy
GB What is the issue with UPDATE employees SET salary = salary * 1.1 WHERE department_id = (SELECT department_id FROM departments WHERE budget > 1000000) if the subquery returns multiple rows?
IN अद्यतन कर्मचारियों के साथ समस्या क्या है सेट वेतन = वेतन * 1.1 जहां विभाग_आईडी = (विभागों से विभाग_आईडी चुनें जहां बजट> 1000000) यदि सबक्वेरी कई पंक्तियाँ लौटाती है?
A
The UPDATE ignores the subquery अद्यतन सबक्वेरी को अनदेखा करता है
B
In most DBMS this fails with subquery returns more than one row error because the = operator expects a single value - should use IN instead of = for multi-row subqueries अधिकांश डीबीएमएस में यह सबक्वेरी के साथ विफल हो जाता है, एक से अधिक पंक्ति त्रुटि देता है क्योंकि = ऑपरेटर एकल मान की अपेक्षा करता है - बहु-पंक्ति सबक्वेरी के लिए = के बजाय IN का उपयोग करना चाहिए
C
The UPDATE applies to only the first returned department अद्यतन केवल पहले लौटे विभाग पर लागू होता है
D
The UPDATE applies to all returned departments अद्यतन सभी लौटाए गए विभागों पर लागू होता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Using = with a subquery that returns multiple rows causes error. Fix: WHERE department_id IN (SELECT department_id FROM departments WHERE budget > 1000000). Or use = ANY() to compare against any value in the result. Always verify whether a subquery can return multiple rows.
व्याख्या (हिन्दी) एकाधिक पंक्तियों को लौटाने वाली सबक्वेरी के साथ = का उपयोग करने से त्रुटि उत्पन्न होती है। ठीक करें: WHERE Department_id IN (विभागों से SELECT Department_ID जहां बजट > 1000000)। या परिणाम में किसी भी मान से तुलना करने के लिए = ANY() का उपयोग करें। हमेशा सत्यापित करें कि क्या कोई सबक्वेरी एकाधिक पंक्तियाँ लौटा सकती है।
1560
EN + हिं Easy
GB What is a soft delete pattern and what are its trade-offs?
IN सॉफ्ट डिलीट पैटर्न क्या है और इसके ट्रेड-ऑफ़ क्या हैं?
A
Marking rows as deleted (is_deleted=1 or deleted_at=TIMESTAMP) instead of physically removing them preserving data for audit/recovery at the cost of increased table size and requiring all queries to filter out soft-deleted rows पंक्तियों को भौतिक रूप से हटाने के बजाय उन्हें हटाए गए (is_deleted=1 या delete_at=TIMESTAMP) के रूप में चिह्नित करना, बढ़े हुए तालिका आकार की कीमत पर ऑडिट/पुनर्प्राप्ति के लिए डेटा को संरक्षित करना और सभी क्वेरीज़ को सॉफ्ट-डिलीट की गई पंक्तियों को फ़िल्टर करने की आवश्यकता होती है।
B
Deleting data softly from disk without secure erasure सुरक्षित मिटाए बिना डिस्क से डेटा को धीरे-धीरे हटाना
C
A delete operation that can be undone within a time window एक डिलीट ऑपरेशन जिसे एक समय विंडो के भीतर पूर्ववत किया जा सकता है
D
A delete that only removes indexes but keeps data एक डिलीट जो केवल इंडेक्स को हटाता है लेकिन डेटा रखता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Soft delete: is_deleted TINYINT DEFAULT 0 or deleted_at TIMESTAMP. Pros: audit trail, easy recovery, referential integrity preserved. Cons: table bloat, all queries must add WHERE is_deleted=0 (risk of missing this), unique constraints may conflict with soft-deleted rows, performance degradation over time.
व्याख्या (हिन्दी) Soft delete: is_deleted TINYINT DEFAULT 0 or deleted_at TIMESTAMP. Pros: audit trail, easy recovery, referential integrity preserved. विपक्ष: टेबल ब्लोट, सभी प्रश्नों में WHERE is_deleted=0 जोड़ना होगा (इसके गायब होने का जोखिम), अद्वितीय बाधाएं सॉफ्ट-डिलीट की गई पंक्तियों के साथ संघर्ष कर सकती हैं, समय के साथ प्रदर्शन में गिरावट।
1546–1560 of 2982