मुख्य सामग्री पर जाएं

SQL IN ऑपरेटर का उपयोग कैसे करें: कुशल फ़िल्टरिंग तकनीकों की गाइड

SQL IN ऑपरेटर आपको क्वेरी परिणामों को केवल उन पंक्तियों तक सीमित करने देता है जो निर्दिष्ट शर्तों को पूरा करती हैं। इसके पूर्ण उपयोग और विकल्पों को जानें।
अपडेट किया गया 25 सित॰ 2026  · 8 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

SQL IN ऑपरेटर मानों के एक सेट के आधार पर डेटा को फ़िल्टर करने का एक उपयोगी उपकरण है। लंबी क्वेरियों में शामिल होने पर, IN ऑपरेटर जटिल क्वेरियों को सरल बनाता है और पठनीयता बढ़ाता है।

यदि आप एक उभरते डेटा प्रैक्टिशनर हैं, तो मैं DataCamp के Introduction to SQL और SQL Fundamentals कोर्स लेने की सलाह दूंगा ताकि आप SQL का उपयोग करके डेटा फ़िल्टर करना सीख सकें। त्वरित पुनरावलोकन के लिए हमारा SQL Basics चीट शीट देखें।

SQL IN ऑपरेटर क्या है?

SQL IN ऑपरेटर SQL क्वेरियों में डेटा फ़िल्टर करने का एक शक्तिशाली उपकरण है। यह केवल उन्हीं पंक्तियों को लौटाता है जो निर्दिष्ट शर्तों को पूरा करती हैं, जिससे क्वेरी परिणाम परिष्कृत होते हैं।

हालाँकि, IN ऑपरेटर को कई शर्तों के साथ परिणाम लौटाने के लिए WHERE क्लॉज़ के बाद शामिल किया जाता है। इसलिए, IN ऑपरेटर वहाँ उपयोग किया जा सकता है जहाँ फ़िल्टर किए जाने वाले डेटा प्रकार के विभिन्न मान हों।

-- Select the employee ID, employee name, and department columns
SELECT employee_id, employee_name, department
FROM employees
-- Filter the results to include only employees whose department is 'Sales' and 'HR'
WHERE department IN ('Sales', 'HR');

ऊपर दिए गए उदाहरण में, हम employees टेबल से employee_id, employee_name, और department कॉलम चुनते हैं। लेकिन हम केवल वे पंक्तियाँ लौटाते हैं जहाँ कर्मचारी Sales और HR विभागों से हैं।

IN ऑपरेटर विभिन्न SQL डेटा प्रकारों—जैसे स्ट्रिंग, नंबर और तिथियाँ—को फ़िल्टर कर सकता है। पंक्तियों को फ़िल्टर करते समय हमेशा सुनिश्चित करें कि संदर्भ कॉलम का डेटा प्रकार उपयुक्त हो।

SQL IN ऑपरेटर का सिंटैक्स

IN ऑपरेटर का मानों को फ़िल्टर करने के लिए सरल सिंटैक्स है। इसे WHERE क्लॉज़ में उपयोग किया जाता है ताकि किसी कॉलम सूची से अनेक मानों को फ़िल्टर किया जा सके। IN ऑपरेटर का समग्र सिंटैक्स नीचे दिखाया गया है।

-- Select the columns you want to retrieve
SELECT column_name(s)
-- Specify the table from which to retrieve the data
FROM table_name
-- Filter the results to include only those rows where the column's value matches any value in the specified list
WHERE column_name IN (value1, value2, ...);

नीचे WHERE क्लॉज़ में IN ऑपरेटर शामिल करने का एक व्यावहारिक उदाहरण है।

-- Select the employee ID, employee name, and department columns
SELECT employee_id, employee_name, department
FROM employees
-- Filter the results to include only employees whose department is 'Sales' and 'HR'
WHERE department IN ('Sales', 'HR');

ध्यान रखने योग्य महत्वपूर्ण बिंदु

IN ऑपरेटर को SELECT स्टेटमेंट के WHERE क्लॉज़ में शामिल किया जाता है। यह स्थान क्वेरी को अनेक मानों के आधार पर पंक्तियों को फ़िल्टर करने देता है। SQL क्वेरी में उपयोग करने पर, IN ऑपरेटर जटिल क्वेरियों को सरल बनाता है और उन्हें पढ़ने में आसान करता है।

IN ऑपरेटर विभिन्न डेटाबेस—जैसे SQL Server, PostgreSQL, MySQL, और Oracle—में मानक है। बेहतर पठनीयता के लिए IN ऑपरेटर को अपरकेस में लिखना महत्वपूर्ण है।

IN ऑपरेटर के सामान्य उपयोग

SQL IN ऑपरेटर का उपयोग अलग-अलग डेटा विश्लेषण अनुप्रयोगों में होता है। इस खंड में कुछ सामान्य उपयोग मामलों—जैसे डेटा फ़िल्टर करना, अनेक मानों को संभालना, और सबक्वेरियों का उपयोग—की चर्चा होगी। 

डेटा फ़िल्टर करना

IN ऑपरेटर रिकॉर्ड्स को फ़िल्टर करता है और निर्दिष्ट मानों का सेट लौटाता है। उदाहरण के लिए, नीचे की क्वेरी employees टेबल से सभी कॉलम चुनेगी और Sales, HR, और IT विभागों के कर्मचारियों वाली पंक्तियाँ लौटाएगी।

-- Select all columns from employees table
SELECT employee_id, employee_name, department
FROM employees
-- Filter to include only 'Sales', 'HR', and 'IT' departments
WHERE department IN ('Sales', 'HR', 'IT');

अनेक मानों को संभालना

IN ऑपरेटर का उपयोग अनेक मानों वाले रिकॉर्ड्स को फ़िल्टर करने में भी होता है। यह तब उपयोगी है जब आप अनेक OR शर्तों से डेटा फ़िल्टर कर रहे हों। अतः, IN ऑपरेटर क्वेरी की पठनीयता बढ़ाने का सरल तरीका प्रदान करता है।

नीचे दिखाया गया है कि यदि IN की जगह OR ऑपरेटर का उपयोग करें तो क्वेरी कैसी दिखेगी।

-- Main query to select employee_id and name from the employees table
SELECT employee_id, name
FROM employees
-- Filter employees based on multiple department names using OR conditions
WHERE department = 'Sales'
OR department = 'Marketing'
OR department = 'HR';

यह रही वही क्वेरी IN ऑपरेटर के साथ। ध्यान दें कि दोहराए गए OR ऑपरेटर हटाकर क्वेरी कितनी सरल हो गई है।

-- Main query to select employee_id and name from the employees table
SELECT employee_id, name
FROM employees
-- Filter employees based on a list of department names using the IN operator
WHERE department IN ('Sales', 'Marketing', 'HR');

सबक्वेरियाँ

आप IN ऑपरेटर का उपयोग सबक्वेरी में परिणाम फ़िल्टर करने के लिए भी कर सकते हैं। यह प्रक्रिया आपको किसी अन्य क्वेरी या संबंधित डेटा से रिकॉर्ड्स फ़िल्टर करने देती है। नीचे के उदाहरण में, सबक्वेरी departments टेबल से Sales विभाग का department_id चुनती है। इसलिए, मुख्य क्वेरी employees टेबल से employee_id और नाम वाली पंक्तियाँ लौटाएगी, जिन्हें सबक्वेरी के अनुसार फ़िल्टर किया गया है।

-- Main query to select employee_id and name from the employees table
SELECT employee_id, name
FROM employees
-- Filter employees based on department_id using a subquery
WHERE department_id IN (
    -- Subquery to get department_id for the "Sales" department
    SELECT department_id
    FROM departments
    WHERE department_name = 'Sales'
);

सीमाएँ और विकल्प

यद्यपि IN ऑपरेटर का उपयोग SQL क्वेरियों में सरल है, इसके कुछ अनुप्रयोग संबंधी सीमाएँ हैं, जिनमें शामिल हैं:

  • बड़े सूचियों के साथ प्रदर्शन संबंधी समस्याएँ: बहुत बड़े मानों की सूची के साथ IN ऑपरेटर का उपयोग क्वेरी निष्पादन को धीमा कर सकता है।
  • NULL मानों का प्रबंधन: IN ऑपरेटर NULL मानों को कुशलतापूर्वक नहीं संभालता और अप्रत्याशित परिणाम दे सकता है। यह समस्या इसलिए है क्योंकि NULL मान मानों की सूची में शामिल नहीं होते।
  • सीमित लचीलापन: बड़े डेटासेट और अनेक कॉलमों को संभालते समय IN ऑपरेटर सीमित होता है। सबक्वेरियों का उपयोग करके केवल सीमित कॉलमों को ही फ़िल्टर किया जा सकता है।

IN ऑपरेटर की सीमाओं से बचने के लिए निम्न विकल्प उपयोगी हैं:

EXISTS ऑपरेटर का उपयोग

EXISTS ऑपरेटर जाँचता है कि निर्दिष्ट रिकॉर्ड्स सबक्वेरी में मौजूद हैं या नहीं। सही उपयोग करने पर यह ऑपरेटर कुशल और तेज़ होता है।

-- Select employee ID and name for employees in departments located in New York using EXISTS
SELECT employee_id, employee_name
FROM employees e
-- Check if there exists a row in the departments table
WHERE EXISTS (
    -- Select 1 is used here as a placeholder; it simply checks for existence
    SELECT 1
    FROM departments d
    -- Match the department_id in employees with department_id in departments
    WHERE d.department_id = e.department_id
    -- Filter for departments located in New York
    AND d.location = 'New York'
);

JOIN का उपयोग

SQL JOIN क्लॉज़ जटिल फ़िल्टरिंग के साथ डेटा क्वेरी करने में कुशल है और अनेक संबंधित कॉलमों से डेटा फ़िल्टर करते समय उपयोगी है। नीचे के उदाहरण में, JOIN क्लॉज़ का उपयोग department_id पर employees और departments टेबल्स को जोड़ने के लिए किया गया है, ताकि न्यूयॉर्क में रहने वाले कर्मचारियों के रिकॉर्ड्स फ़िल्टर किए जा सकें।

-- Select employee ID and name for employees in departments located in New York using JOIN
SELECT e.employee_id, e.employee_name
FROM employees e
-- Join the employees table with the departments table on department_id
JOIN departments d ON e.department_id = d.department_id
-- Filter the results to include only departments located in New York
WHERE d.location = 'New York';

Common Table Expressions (CTEs) या अस्थायी टेबल्स का उपयोग

यदि आपके पास बड़ी सूचियों वाली टेबल्स हैं, तो क्वेरी चलाने से पहले मानों की सूची रखने के लिए CTEs का उपयोग करने पर विचार करें। यह तरीका क्वेरी के प्रदर्शन और पठनीयता में सुधार करता है।

-- Define a CTE (Common Table Expression) to store the list of department IDs located in New York
WITH DepartmentList AS (
    SELECT department_id
    FROM departments
    WHERE location = 'New York'
)
-- Select employee ID and name for employees who belong to the departments listed in the CTE
SELECT e.employee_id, e.employee_name
FROM employees e
-- Filter the results to include only employees whose department_id is in the list of department IDs from the CTE
WHERE e.department_id IN (SELECT department_id FROM DepartmentList);

डेटा फ़िल्टर करने की अन्य उन्नत तकनीकों को सीखने के लिए, मैं DataCamp का Associate Data Analyst in SQL करियर ट्रैक लेने की सलाह दूंगा। आप DataCamp का Intermediate SQL Server कोर्स भी देख सकते हैं, जिसमें कॉमन टेबल एक्सप्रेशंस और अन्य उन्नत विषयों पर एक अध्याय शामिल है। 

निष्कर्ष

SQL IN ऑपरेटर को समझना एक डेटा प्रैक्टिशनर के लिए महत्वपूर्ण है, क्योंकि यह विश्लेषण के दौरान डेटा को फ़िल्टर और रूपांतरित करने देता है। IN ऑपरेटर के प्रयोग में अपने SQL कौशल को बढ़ाने के लिए, मैं आपको अलग-अलग डेटासेट्स पर अभ्यास करने के लिए प्रोत्साहित करता हूँ।

यदि आप अपने SQL ज्ञान को इंटरमीडिएट स्तर तक ले जाना चाहते हैं, तो मैं Reporting in SQL कोर्स की सिफारिश करता हूँ ताकि आप अन्य जटिल क्वेरी तकनीकों का अन्वेषण कर सकें। साथ ही, SQL Associate Certification आपको उन्नत विश्लेषण के लिए SQL के व्यावहारिक ज्ञान को प्रदर्शित करके अन्य डेटा विश्लेषकों के बीच अलग खड़ा होने में मदद करेगा।


Allan Ouko's photo
Author
Allan Ouko
LinkedIn

डेटा एनालिटिक्स, बिज़नेस इंटेलिजेंस और डेटा साइंस में व्यावहारिक अनुभव रखने वाला डेटा साइंस तकनीकी लेखक। मैं SQL, Python, Power BI, Databricks और डेटा इंजीनियरिंग पर व्यावहारिक, उद्योग-केंद्रित सामग्री लिखता/लिखती हूँ, जो वास्तविक दुनिया की एनालिटिक्स कार्य से जुड़ी होती है। मेरी लेखनी तकनीकी गहराई और व्यावसायिक प्रभाव के बीच पुल का काम करती है, जिससे पेशेवरों को डेटा को आत्मविश्वासपूर्ण निर्णयों में बदलने में मदद मिलती है. 

Frequently Asked Questions

क्या मैं अलग-अलग डेटा प्रकारों को फ़िल्टर करने के लिए IN ऑपरेटर का उपयोग कर सकता/सकती हूँ?

IN ऑपरेटर स्ट्रिंग, नंबर और तिथियों सहित विभिन्न SQL डेटा प्रकारों को फ़िल्टर करता है।

क्या आप सबक्वेरियों में IN ऑपरेटर का उपयोग कर सकते हैं?

IN ऑपरेटर का उपयोग सबक्वेरियों में मुख्य क्वेरी से डेटा फ़िल्टर करने की एक उन्नत विधि के रूप में किया जाता है।

IN ऑपरेटर के विकल्प क्या हैं?

EXISTS ऑपरेटर, JOIN क्लॉज़, और कॉमन टेबल एक्सप्रेशंस (CTEs) IN ऑपरेटर के बेहतरीन विकल्प हैं।

कौन से डेटाबेस IN ऑपरेटर के साथ संगत हैं?

आम डेटाबेस—जैसे SQL Server, MySQL, PostgreSQL, और Oracle—IN ऑपरेटर के उपयोग का समर्थन करते हैं।

विषय
SQL
डेटा विश्लेषण

DataCamp के साथ SQL सीखें

कोर्स

SQL परिचय

2 घंटा
1.6M
SQL से रिलेशनल डेटाबेस बनाना और क्वेरी करना सिर्फ दो घंटों में सीखें।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें

कोर्स

SQL में Data Manipulation

4 घंटा
336.7K
जटिल SQL क्वेरियों में महारत हासिल करें, डेटा विज्ञान के विविध प्रश्नों के उत्तर दें और PostgreSQL में विश्लेषण के लिए मजबूत डेटा सेट तैयार करें।
और देखेंRight Arrow