SQL Academy · पाठ

WHERE फ़िल्टर: तुलना और तर्क ऑपरेटर

=, <>, , AND, OR, NOT से rows को फ़िल्टर कीजिए और operator precedence तथा parentheses को समझिए।

पाठ 2, कुल 4 में से13 चरण

WHERE फ़िल्टर: तुलना और तर्क ऑपरेटर, CoddyKit पर SQL Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह SQL Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। SQL Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

WHERE की भूमिका

WHERE समूह बनाने या समुच्चयकरण से पहले पंक्तियों को फ़िल्टर करता है। केवल वे पंक्तियाँ लौटाई जाती हैं जिनकी शर्त TRUE होती है।

तुलना ऑपरेटर

मानक तुलनाएँ सभी तुलनीय प्रकारों पर काम करती हैं:

SELECT * FROM products WHERE price > 100;
SELECT * FROM products WHERE price >= 100;
SELECT * FROM products WHERE price < 50;
SELECT * FROM products WHERE price <= 50;
SELECT * FROM products WHERE category = 'books';
SELECT * FROM products WHERE category <> 'books';   -- != also works

AND, OR, NOT

तार्किक ऑपरेटरों की मदद से शर्तों को मिलाएँ:

-- Both true:
SELECT * FROM products
WHERE category = 'books' AND price < 50;

-- Either true:
SELECT * FROM products
WHERE category = 'books' OR category = 'music';

-- Negation:
SELECT * FROM products
WHERE NOT (category = 'books');

ऑपरेटरों की प्राथमिकता

प्राथमिकता (अधिक से कम): NOT → AND → OR। स्पष्टता के लिए जटिल शर्तों को हमेशा कोष्ठक में रखें:

-- Without parens — almost certainly wrong:
SELECT * FROM orders
WHERE status = 'open' OR status = 'pending' AND total > 100;
-- means:  status = open  OR  (status = pending AND total > 100)

-- With parens — clearer:
SELECT * FROM orders
WHERE (status = 'open' OR status = 'pending') AND total > 100;

IN और NOT IN

कई OR शर्तों का संक्षिप्त रूप:

SELECT * FROM users
WHERE country IN ('US', 'CA', 'GB', 'AU');

-- Equivalent to:
SELECT * FROM users
WHERE country = 'US' OR country = 'CA' OR country = 'GB' OR country = 'AU';

BETWEEN

समावेशी सीमा की जाँच:

SELECT * FROM orders
WHERE total BETWEEN 100 AND 500;

-- Equivalent to:  total >= 100 AND total <= 500

NULL-सुरक्षित फ़िल्टर

NULL के साथ की गई तुलनाओं का परिणाम FALSE नहीं, बल्कि NULL आता है और NULL वाली पंक्तियाँ WHERE द्वारा हटा दी जाती हैं। आवश्यकता होने पर IS NULL / IS NOT NULL का स्पष्ट रूप से उपयोग करें:

-- Returns users where deleted_at is unknown:
SELECT * FROM users WHERE deleted_at IS NULL;

-- IS DISTINCT FROM treats NULL as a comparable value:
SELECT * FROM events WHERE status IS DISTINCT FROM 'closed';

बूलियन स्तंभ

BOOLEAN स्तंभ के लिए किसी तुलना की आवश्यकता नहीं होती:

SELECT * FROM tasks WHERE done;       -- = TRUE
SELECT * FROM tasks WHERE NOT done;    -- = FALSE or NULL
SELECT * FROM tasks WHERE done IS NOT TRUE;  -- FALSE or NULL only

LIKE के साथ पैटर्न मिलान

% किसी भी स्ट्रिंग से मेल खाता है, जबकि _ ठीक एक वर्ण से मेल खाता है:

SELECT * FROM users WHERE email LIKE '%@gmail.com';
SELECT * FROM products WHERE sku LIKE 'A_-___';

-- Case-insensitive in PostgreSQL:
SELECT * FROM users WHERE email ILIKE '%@GMAIL.com';

फ़िल्टर और प्रदर्शन

WHERE क्लॉज़ में अनुक्रमणिकाएँ सबसे अधिक उपयोगी होती हैं। अनुक्रमणिका वाले स्तंभों पर समानता (=) और सीमा (<, BETWEEN) फ़िल्टर पूरे तालिका स्कैन को मिलीसेकंड में होने वाली खोज में बदल देते हैं।

मूल्यांकन का क्रम

तार्किक रूप से डेटाबेस इस क्रम में मूल्यांकन करता है: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT। इसलिए WHERE को कच्ची पंक्तियाँ दिखाई देती हैं; SELECT के स्तंभ उपनाम अभी परिभाषित नहीं होते।

-- This fails — alias not visible in WHERE:
SELECT total * 0.9 AS discounted
FROM orders WHERE discounted > 100;     -- ERROR

-- Repeat the expression instead, or wrap in a subquery.

पुनरावलोकन

WHERE पंक्तियों को चुनने का आपका मुख्य साधन है।

  • मानक तुलना और तार्किक ऑपरेटर
  • मिश्रित AND/OR को कोष्ठकों में रखें
  • IS NULL का उपयोग करें — कभी भी = NULL का नहीं
  • अनुक्रमणिका वाले स्तंभों पर WHERE तेज़ होता है

त्वरित जाँच

कौन-सी शर्त केवल वे पंक्तियाँ रखती है जिनमें age 18 से अधिक या उसके बराबर और country US है?

शुरुआत निःशुल्क

एआई शिक्षक के साथ SQL सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
46
पाठ
183

अक्सर पूछे जाने वाले प्रश्न

क्या “WHERE फ़िल्टर: तुलना और तर्क ऑपरेटर” पाठ निःशुल्क है?

हाँ—“WHERE फ़िल्टर: तुलना और तर्क ऑपरेटर” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और SQL Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। SQL Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“WHERE फ़िल्टर: तुलना और तर्क ऑपरेटर” में मैं क्या सीखूँगा?

=, <>, , AND, OR, NOT से rows को फ़िल्टर कीजिए और operator precedence तथा parentheses को समझिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ SQL Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या SQL Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर SQL Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“WHERE फ़िल्टर: तुलना और तर्क ऑपरेटर” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस SQL Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर SQL Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Columns और expressions चुनना
  2. WHERE फ़िल्टर: तुलना और तर्क ऑपरेटर
  3. एकल और अनेक columns पर ORDER BY
  4. LIMIT, OFFSET और pagination की मूल बातें
← SQL Academy पर वापस जाएँ