Scalar Subqueries sql In Hindi
एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम मे स्केलर सबक्वेरी एक प्रकार की डेटाबेस टेबल बेस्ड जनरेटेड सबक्वेरी होती है. जो यूजर जनरेटेड टेबल पे एक सिंगल वैल्यू को रिटर्न करती है, इसका अर्थ है कि यह डेटाबेस यूजर को सिर्फ़ एक टेबल रो और एक कॉलम वैल्यू को रिटर्न करती है। इन सबक्वेरी वैल्यू का यूज़ एक्सटर्नल डेटाबेस क्वेरी एक्सप्रेशन या कंपेरिजन में किया जा सकता है। डेटाबेस मैनेजमेंट में स्केलर सबक्वेरी का मोस्ट ऑफ यूज़ सामान्य रूप से टेबल डेटा का एक सिंगल पार्ट वैल्यू को रिटर्न करने में किया जाता है. जिसे आवश्यकता के अनुसार एक्सटर्नल क्वेरी में मल्टीप्ल कंडीशंस वैल्यू को इवैल्यूएट करने में किया जाता है।

याद रहे, डेटाबेस टेबल में स्केलर सबक्वेरी एक समय में सिंगल वैल्यू को रिटर्न करती हैं, इस वजह से इनका यूज़ अधिकतर =, <, >, <=, >=, और <> जैसे कंपेरिजन ऑपरेटर के साथ, या SELECT, WHERE, HAVING, और SET जैसे क्लॉज़ या एक्सप्रेशन में अधिक किया जाता है।
Features of Scalar Subqueries in Database Tables.
- Single Value Return – डेटाबेस टेबल में एक स्केलर सबक्वेरी को सिर्फ़ एक कॉलम और एक रो के रूप में रिटर्न होना चाहिए।
- Embedded within another query – डेटाबेस टेबल में स्केलर सबक्वेरी का यूज़ किसी अन्य क्वेरी के अंदर किया जाता है, सामान्य रूप से SELECT, WHERE, HAVING, या SET क्लॉज़ में इसे यूज़ कर सकते है।
- Used with Comparison Operators – टेबल डेटा को डिटेल में फ़िल्टर करने के लिए स्केलर सबक्वेरी का यूज़ ज्यादात कंपेरिजन ऑपरेटर =, >, <, आदि में किया जाता है।
Basic Scalar Subquery Syntax.
SELECT column_name
FROM table_name
WHERE column_name = (
SELECT single_value_column
FROM another_table
WHERE condition
);
In this Basic Scalar Subquery.
- यहाँ सबक्वेरी इनर क्वेरी [सबक्वेरी] में एक सिंगल वैल्यू को रिटर्न करती है।
- यहाँ आउटर क्वेरी में उस वैल्यू का यूज़ कंपेरिजन ओपेरटर कंडीशन के साथ में किया जाता है।
Example of a Scalar Subquery.
- एसक्यूएल डेटाबेस में WHERE क्लॉज़ के साथ स्केलर सबक्वेरी को क्रिएट करना।
Here, let’s assume you have two separate database tables named Employees and Departments.
- यह employe टेबल है, जिसमें employee_id, emp_name, और salary नाम से टेबल कॉलम फील्ड हैं।
- यह department टेबल है, जिसमें department_id, department_name नाम से टेबल कॉलम फील्ड हैं।
यहाँ डेटाबेस यूजर एम्प्लॉई टेबल से हर उस एम्प्लॉई का नाम एक्सट्रेक्ट करना चाहते हैं, जो मौजूदा कंपनी में सबसे अधिक सैलरी पाता है। इसे WHERE क्लॉज़ में स्केलर सबक्वेरी को अप्लाई करके परफॉर्म किया जा सकता है।
SELECT emp_name
FROM employee
WHERE salary = (
SELECT MAX(salary)
FROM employee
);
Explanation of the Employee and Department table subquery.
- यहाँ इनर क्वेरी में स्केलर सबक्वेरी MAX() फ़ंक्शन को यूज़ करके employee टेबल में मैक्सिमम एम्प्लॉई सैलरी को फाइंड करती है।
- यहाँ आउटर क्वेरी में उस एम्प्लॉई क्वेरी का नाम एक्सट्रेक्ट करती है, जहाँ एम्प्लॉई सैलरी मैक्सिमम सैलरी के बराबर है।
Scalar Subquery in the SELECT Clause in a Database Table.
डेटाबेस यूजर आउटर क्वेरी की हर टेबल रो के लिए कैलकुलेटेड वैल्यू को रीटर्न करने के लिए SELECT क्लॉज़ में भी स्केलर सबक्वेरी को अप्लाई कर सकते हैं। जैसे, माना की यहाँ डेटाबेस यूजर हर उस एम्प्लॉई का नाम फाइंड करना चाहते हैं, और उन एम्प्लॉई की सैलरी की तुलना कंपनी में सबसे अधिक सैलरी पाने वाले एम्प्लॉई से करना चाहते हैं।
SELECT emp_name,
salary,
(SELECT MAX(salary) FROM employee) AS highest_salary
FROM employee;
Explanation of the Scalar Subquery in the Employee table query.
- यहाँ इनर क्वेरी कंपनी में सबसे अधिक सैलरी पाने वाले एम्प्लॉई एक सिंगल वैल्यू को रिटर्न करती है।
- यहाँ आउटर क्वेरी एम्प्लॉई का नाम और उसकी सैलरी इनफार्मेशन को एक्सट्रेक्ट करती है, और यह हर एम्प्लॉई टेबल में एम्प्लॉई कंपनी में सबसे अधिक सैलरी पाने वाले एम्प्लॉई इनफार्मेशन को भी डिस्प्ले करती है। यहाँ डेटाबेस टेबल सबक्वेरी कम्पलीट रिजल्ट आउटपुट के लिए एक बार एग्जीक्यूट होती है, और सबक्वेरी रिजल्ट आउटपुट को हर रो में रिपीट किया जाता है।
Database Table Scalar Subquery with Comparison Operator.
यहाँ माना कि डेटाबेस यूजर उन एम्प्लॉई के नाम को एक्सट्रेक्ट करना चाहते हैं, जिन एम्प्लॉई की सैलरी उसी डिपार्टमेंट के एम्प्लॉई की औसत सैलरी से अधिक है। इसलिए डेटाबेस यूजर डिपार्टमेंट-वाइज़ एवरेज सैलरी को कैलकुलेट करने और उनकी तुलना अलग-अलग एम्प्लॉई की सैलरी से करने के लिए स्केलर सबक्वेरी को अप्लाई कर सकते हैं।
SELECT emp_name
FROM employee e
WHERE salary > (
SELECT AVG(salary)
FROM employee
WHERE department_id = e.department_id
);
Explanation of Scalar Subquery with Comparison Operator.
- यहाँ इनर क्वेरी स्केलर सबक्वेरी में हर एम्प्लॉई डिपार्टमेंट के लिए एवरेज सैलरी को कैलकुलेट करती है।
- इसी प्रकार आउटर क्वेरी टेबल से उन एम्प्लॉई इनफार्मेशन को एक्सट्रेक्ट करती है, जिन एम्प्लॉई की सैलरी डिपार्टमेंट की एवरेज सैलरी से अधिक है।
- यहां देखा जाए तो, यूजर जनरेटेड सबक्वेरी कोरिलेटेड नेचर की है, क्योंकि यह आउटर क्वेरी e.डिपार्टमेंट_आईडी से डिपार्टमेंट_आईडी को डायरेक्ट रेफर करती है। वही सबक्वेरी आउटर क्वेरी में हर टेबल रो के लिए फिर से एग्जीक्यूट होती है. जहा हर एम्प्लॉई की सैलरी की तुलना उनके डिपार्टमेंट की एवरेज सैलरी से की जाती है। एग्रीगेटेड डेटा के साथ स्केलर सबक्वेरी प्रीव्यू के साथ में.
एसक्यूएल डेटाबेस में स्केलर सबक्वेरी स्पेशल रूप से MAX(), MIN(), AVG(), जैसे एग्रीगेट न्यूमेरिक फ़ंक्शन को अप्लाई करते समय बहुत यूज़फुल होते हैं। यहाँ आपको एक एक्साम्प्ल मिलता है, जहाँ डेटाबेस यूजर उन एम्प्लॉई इनफार्मेशन को फाइंड करना चाहते हैं, जिन एम्प्लॉई की सैलरी कंपनी में एवरेज सैलरी से अधिक है।
SELECT emp_name
FROM employee
WHERE salary > (
SELECT AVG(salary)
FROM employee
);
Explanation of the subquery and aggregate function.
- यहाँ इनर क्वेरी एम्प्लॉई टेबल से टोटल एवरेज सैलरी को कैलकुलेट करती है।
- वही आउटर क्वेरी उन एम्प्लॉई के नाम को एक्सट्रेक्ट करती है, जिन एम्प्लॉई की सैलरी कैलकुलेटेड एवरेज सैलरी से अधिक है।
Scalar Subqueries with Multiple Conditions in Database Tables.
यहाँ डेटाबेस यूजर आउटर क्वेरी में मल्टीप्ल कंडीशंस के साथ स्केलर सबक्वेरी को भी यूज़ कर सकते हैं। जैसे, डेटाबेस यूजर मल्टीप्ल टेबल वैल्यू की तुलना कर सकते हैं. जैसेकी यह फाइंड करना कि क्या किसी एम्प्लॉई की सैलरी कंपनी में एवरेज सैलरी से अधिक है, और क्या एम्प्लॉई डिपार्टमेंट में एक फिक्स नंबर से अधिक एम्प्लॉई हैं।
SELECT emp_name
FROM employee
WHERE salary > (
SELECT AVG(salary)
FROM employee
) AND department_id IN (
SELECT department_id
FROM employee
GROUP BY department_id
HAVING COUNT(*) > 13
);
Explanation of Scalar Subqueries with Multiple Conditions.
- यहाँ फर्स्ट स्केलर सबक्वेरी सभी एम्प्लॉई की एवरेज सैलरी को कैलकुलेट करती है।
- वही सेकंड सबक्वेरी उन एम्प्लॉई डिपार्टमेंट को फाइंड करती है, जिनमें 13 से अधिक एम्प्लॉई हैं।
- इसी प्रकार आउटर क्वेरी उन एम्प्लॉई के नाम को एक्सट्रेक्ट करती है, जिन एम्प्लॉई की सैलरी एवरेज सैलरी से अधिक है, और जो 13 से अधिक एम्प्लॉई वाले डिपार्टमेंट से रिलेटेड हैं।
Conclusion on Scalar Subqueries in SQL Database Management Systems.
- एसक्यूएल डेटाबेस में स्केलर सबक्वेरी एक एडवांस्ड और पॉवरफुल फीचर्स है, जो डेटाबेस यूजर को एक ही टेबल वैल्यू को रिटर्न करने के लिए एक इनर क्वेरी को दूसरी आउटर क्वेरी के अंदर एम्बेड करने की परमिशन प्रोवाइड करता है। डेटाबेस टेबल में स्केलर सबक्वेरी का यूज़ अधिकतर WHERE, SELECT, और HAVING क्लॉज़ में इन डेटाबेस एक्टिविटीज के लिए किया जाता है.
- जिसमे डेटाबेस टेबल में एक कॉलम की वैल्यू की तुलना सबक्वेरी द्वारा कैलकुलेट की गई एक ही वैल्यू से करना शामिल है।
- पॉपुलर न्यूमेरिक फंक्शन में AVG(), MAX(), और SUM() जैसे एग्रीगेट फ़ंक्शन को अप्लाई करके वैल्यू कैलकुलेट करना शामिल है।
- जहा दूसरी क्वेरी के रिजल्ट के आधार पर टेबल डेटा को फ़िल्टर करना या एक्सट्रेक्ट करना शामिल है।
