Last chance! 50% off DataCamp Premium
Sale ends in
SQL OFFSET एक शक्तिशाली क्लॉज़ है जिसका उपयोग क्वेरी परिणाम में एक निश्चित संख्या की पंक्तियों को छोड़ने के लिए किया जाता है। इसे अक्सर डेटा पेजिनेशन के लिए LIMIT क्लॉज़ के साथ जोड़ा जाता है।
यह ट्यूटोरियल बताता है कि OFFSET कैसे काम करता है, इसके व्यावहारिक उपयोग क्या हैं, और अपनी SQL क्वेरियों को अनुकूलित करने के सर्वोत्तम तरीके क्या हैं। यदि आप शुरू करने से पहले SQL ऑपरेशंस की पुनरावृत्ति करना चाहते हैं, तो हमारे SQL बेसिक्स चीट शीट पर एक त्वरित नज़र डालें।
SQL में OFFSET क्लॉज़ का उपयोग परिणाम सेट में पंक्तियाँ लौटाने से पहले एक निश्चित संख्या की पंक्तियों को छोड़ने के लिए किया जाता है। इसे अक्सर परिणामों को पेजिनेट करने के लिए LIMIT क्लॉज़ के साथ उपयोग किया जाता है।
SELECT column_names
FROM table_name
ORDER BY column_name
LIMIT number_of_rows OFFSET offset_value;
ऊपर दी गई SQL क्वेरी में, number_of_rows लौटाई जाने वाली पंक्तियों की सटीक संख्या दर्शाता है, जबकि offset_value दिखाता है कि पंक्तियाँ लौटाने से पहले क्वेरी को कितनी पंक्तियाँ छोड़नी चाहिए।
OFFSET क्लॉज़ परिणाम सेट में निर्दिष्ट संख्या की पंक्तियों को छोड़ देता है। जब ORDER BY के साथ उपयोग किया जाता है, तो यह परिभाषित क्रम में पंक्तियों को छोड़कर सुसंगत परिणाम सुनिश्चित करता है, जो आमतौर पर किसी कॉलम नाम द्वारा निर्दिष्ट होता है। डिफ़ॉल्ट रूप से, ORDER BY निर्दिष्ट कॉलम को आरोही क्रम में लौटाता है।
मान लीजिए कि आप employees तालिका से निम्न कॉलम क्वेरी करना चाहते हैं: employee_id, first_name, last_name, phone_number, और salary। आप अपने परिणामों से पहली 9 पंक्तियों को भी निकालना चाहते हैं। आप नीचे दी गई SQL क्वेरी का उपयोग करेंगे।
-- Select all columns for employees, starting from the 10th row
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Order by employee_id to ensure consistent ordering
ORDER BY employee_id
-- Skip the first 9 rows
OFFSET 9 ROWS;
यह याद रखना महत्वपूर्ण है कि गैर-अद्वितीय सॉर्टिंग कॉलम के कारण, डुप्लिकेट रिकॉर्ड से बचने के लिए सावधानी बरतनी चाहिए।
OFFSET का आम तौर पर LIMIT के साथ उपयोग किया जाता है ताकि लौटाई जाने वाली पंक्तियों की संख्या और पंक्तियाँ लौटाना कहाँ से शुरू करना है, उस पर नियंत्रण रखा जा सके।
नीचे दिए गए उदाहरण में, LIMIT क्लॉज़ पहली 9 पंक्तियाँ छोड़ने के बाद केवल अगली 10 पंक्तियाँ लौटाता है।
-- Select all columns for employees, starting from the 10th row and fetching the next 10 rows
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Order by employee_id to ensure consistent ordering
ORDER BY employee_id
-- Skip the first 9 rows
OFFSET 9
-- Fetch the next 10 rows
LIMIT 10;
SQL OFFSET का वेब अनुप्रयोगों में पेजिनेशन के लिए व्यापक रूप से उपयोग किया जाता है। स्पष्ट रूप से कहें तो, डेटा पेजिनेशन बड़ी मात्रा के डेटा को छोटे-छोटे हिस्सों में बाँटने की तकनीक है, जो उपयोगकर्ताओं को बड़े डेटासेट में कुशलतापूर्वक नेविगेट करने में मदद करती है।
मैं डेटा पेजिनेशन को OFFSET और LIMIT के उपयोग का सबसे अच्छा उदाहरण मानता हूँ। इस तकनीक में, OFFSET और LIMIT क्लॉज़ एक साथ उपयोग होकर डेटा को प्रबंधनीय हिस्सों में बाँटते हैं, जो कई पन्नों में दिखाए जाते हैं।
यह उपयोगकर्ता अनुभव को बेहतर बनाता है क्योंकि कोई भी एक साथ बहुत बड़ी सूची देखकर अभिभूत नहीं होता।
OFFSET के अन्य उपयोगों में शामिल हैं:
LIMIT के साथ मिलाकर उपयोग करने पर)।विभिन्न डेटाबेस OFFSET और LIMIT क्लॉज़ का समर्थन करते हैं, जिनमें MySQL, PostgreSQL और SQLite शामिल हैं। ऐसे डेटाबेस के लिए जो OFFSET और LIMIT स्टेटमेंट्स का समर्थन नहीं करते, जैसे SQL Server, FETCH जैसे वैकल्पिक तरीकों का उपयोग किया जा सकता है।
उदाहरण के लिए, नीचे दी गई क्वेरी (LIMIT का उपयोग करते हुए) MySQL, SQLite और PostgreSQL डेटाबेस में मान लौटाएगी लेकिन SQL Server में नहीं।
-- Select all columns for employees, starting from the 10th row and fetching the next 10 rows
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Order by employee_id to ensure consistent ordering
ORDER BY employee_id
-- Skip the first 9 rows
OFFSET 9
-- Fetch the next 10 rows
LIMIT 10;
इसलिए, आपको SQL Server में समान परिणाम लौटाने के लिए नीचे दी गई क्वेरी के साथ FETCH का उपयोग करना चाहिए;
-- Select specific columns for employees, starting from the 10th row and fetching the next 10 rows
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Order by employee_id to ensure consistent ordering
ORDER BY employee_id
-- Skip the first 9 rows (starting from the 10th row)
OFFSET 9 ROWS
-- Fetch the next 10 rows
FETCH NEXT 10 ROWS ONLY;
SQL मानक में उपयोग किया जाने वाला FETCH क्लॉज़, LIMIT का एक उन्नत विकल्प हो सकता है। जहाँ OFFSET छोड़ने वाली पंक्तियों की संख्या बताता है, वहीं FETCH क्वेरी से लौटाई जाने वाली पंक्तियों की संख्या देता है।
-- Selecting columns from employees table
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Ordering the result set by employee_id for consistent pagination
ORDER BY employee_id
-- Skipping the first 20 rows in the result set
OFFSET 20 ROWS
-- Fetching the next 10 rows only after the offset
FETCH NEXT 10 ROWS ONLY;
अन्य उन्नत SQL तकनीकें हमारे Associate Data Analyst in SQL कोर्स में मिलती हैं।
OFFSET का प्रभावी उपयोग करने के लिए इसकी क्वेरी प्रदर्शन पर पड़ने वाले प्रभाव को समझना आवश्यक है।
OFFSET क्वेरी प्रदर्शन को प्रभावित कर सकता है, खासकर बड़े डेटासेट के साथ। SQL Server क्वेरी कैशिंग और निष्पादन को कुशलतापूर्वक संभालता है, लेकिन बड़े डेटासेट के साथ OFFSET का उपयोग करने पर अतिरिक्त अनुकूलन रणनीतियों की आवश्यकता हो सकती है, जैसे Common Table Expressions (CTEs) या अस्थायी तालिकाओं का उपयोग। इसलिए, आपको क्वेरी प्रदर्शन की निगरानी करनी चाहिए ताकि समस्याओं की पहचान हो सके और उन बाधाओं को दूर किया जा सके जो क्वेरी निष्पादन में रुकावट डालती हैं। DataCamp का Intermediate SQL Server कोर्स CTEs और अन्य उन्नत विषयों पर एक अध्याय शामिल करता है।
यहाँ कुछ अतिरिक्त सर्वोत्तम प्रथाएँ हैं जो मुझे अपने अभ्यास के दौरान उपयोगी लगीं।
ORDER BY क्लॉज़ का उपयोग करें। यह तरीका सुनिश्चित करता है कि रिकॉर्ड्स सुसंगत रूप से सॉर्ट हों।LIMIT के साथ मिलकर OFFSET क्लॉज़ में महारत हासिल करना कुशल डेटा प्रबंधन के लिए महत्वपूर्ण है। अपनी SQL क्वेरियों में इन क्लॉज़ का प्रयोग करें ताकि प्रदर्शन बेहतर हो और उपयोगकर्ता अनुभव में सुधार हो। आप SQL में OFFSET क्लॉज़ के बारे में अधिक जान सकते हैं DataCamp के Intermediate SQL और SQL Fundamentals कोर्सेज़ लेकर।
इसी तरह, आप हमारे Reporting in SQL कोर्स के साथ SQL का उपयोग करके डेटा विश्लेषण के बारे में और जान सकते हैं। साथ ही, यदि आप SQL प्रोजेक्ट्स के साथ अपने हाथों-हाथ कौशल का प्रदर्शन करना चाहते हैं, तो मैं SQL Associate Certification प्राप्त करने की सलाह देता हूँ, जो आपको नौकरी इंटरव्यू में अलग पहचान बनाने में मदद करेगा।
डेटा एनालिटिक्स, बिज़नेस इंटेलिजेंस और डेटा साइंस में व्यावहारिक अनुभव रखने वाला डेटा साइंस तकनीकी लेखक। मैं SQL, Python, Power BI, Databricks और डेटा इंजीनियरिंग पर व्यावहारिक, उद्योग-केंद्रित सामग्री लिखता/लिखती हूँ, जो वास्तविक दुनिया की एनालिटिक्स कार्य से जुड़ी होती है। मेरी लेखनी तकनीकी गहराई और व्यावसायिक प्रभाव के बीच पुल का काम करती है, जिससे पेशेवरों को डेटा को आत्मविश्वासपूर्ण निर्णयों में बदलने में मदद मिलती है.
OFFSET क्लॉज़ का उपयोग क्वेरी में परिणाम लौटाने से पहले पंक्तियाँ छोड़ने के लिए किया जाता है।
हालाँकि हमारी क्वेरी बिना ORDER BY क्लॉज़ के भी चल जाएगी, आउटपुट सुसंगत या अपेक्षित न हो सकता है। ORDER BY के बिना OFFSET का उपयोग करने का अर्थ है कि डेटाबेस इंजन के पास पालन करने के लिए कोई निर्दिष्ट क्रम नहीं है, जिससे संभावित रूप से अप्रत्याशित परिणाम मिल सकते हैं, इसलिए हम आश्चर्य से बचने के लिए ORDER BY का उपयोग करते हैं।
LIMIT क्लॉज़ MySQL, PostgreSQL और SQLite में समर्थित है। SQL Server के लिए FETCH का उपयोग करें।
OFFSET क्लॉज़ रिकॉर्ड्स लौटाने से पहले निर्दिष्ट पंक्तियाँ छोड़ता है, जबकि LIMIT क्लॉज़ लौटाई जाने वाली रिकॉर्ड्स की संख्या को सीमित करता है।
आप क्वेरी को Common Table Expressions (CTEs) या अस्थायी तालिकाओं का उपयोग करके अनुकूलित कर सकते हैं।
DataCamp के साथ SQL सीखें
{count, plural, one {कोर्स} other {कोर्स}}
{count, plural, one {कोर्स} other {कोर्स}}
{count, plural, one {कोर्स} other {कोर्स}}