Free tutorials & notes in Hindi & English · Clean code examples · Mobile friendly learning
MySQL + SQL · Lesson 49

LIKE, BETWEEN और IN Operators

सही Operator चुनें

LIKE text pattern, BETWEEN inclusive range और IN list membership test करता है। ये लंबे comparison combinations के readable alternatives हैं।

Common learning data: students में Aarav (X-A, 86.50, Active), Meera (X-A, 91.00, Active), Kabir (X-B, 74.00, Inactive) और Sana (X-B, 88.50, Active) हैं।

LIKE और Wildcards

SELECT full_name FROM students
WHERE full_name LIKE 'M%';

SELECT full_name FROM students
WHERE full_name LIKE '_a%';
Results 'M%' → Meera '_a%' → Aarav, Kabir, Sana

% zero या अधिक और _ exactly one character match करता है। NOT LIKE known values के pattern को reverse करता है। Case और accent sensitivity collation पर depend है।

Literal Wildcards, Collation और Performance

Text में वास्तविक percent या underscore हो तो उसे escape करें। Client और SQL mode के अनुसार escape behavior define और test करें। '%ana%' जैसा leading wildcard normal B-tree index के left edge को प्रायः efficiently use नहीं कर पाता।

Security: wildcard SQL injection नहीं, लेकिन user input prepared statement में bind होना चाहिए। Application तय करे user wildcard दे सकता है या उसे escape करना है।

BETWEEN: Inclusive Ranges

SELECT full_name, marks FROM students
WHERE marks BETWEEN 80 AND 90
ORDER BY marks;
Aarav | 86.50 Sana | 88.50

Ordinary values के लिए यह marks >= 80 AND marks <= 90 के समान है। Timestamps में unambiguous half-open range लें:

WHERE created_at >= '2026-08-01'
  AND created_at <  '2026-09-01'

IN Lists, NOT IN और NULL

SELECT full_name, class_name FROM students
WHERE class_name IN ('X-A', 'XI-A')
ORDER BY student_id;
Aarav | X-A Meera | X-A

IN listed non-NULL values में किसी equality के समान है। Subquery वाले NOT IN में NULL intended non-matches को UNKNOWN बना सकता है। NULL remove करें या correctly correlated NOT EXISTS लें।

गलतियाँ और अभ्यास

  • LIKE को हमेशा case-sensitive मानना।
  • BETWEEN की दोनों boundaries भूलना।
  • Boundaries उलटी लिखना।
  • NOT IN में unexpected NULL आने देना।
  • Measurement बिना large column पर leading wildcard लगाना।
  1. a पर खत्म names खोजें।
  2. 86.50 से 91.00 inclusive marks लौटाएँ।
  3. X-A और X-B को IN तथा OR दोनों से लिखें।
  4. Monthly timestamp report में half-open range समझाएँ।

त्वरित सारांश

  • LIKE % और _ से patterns match करता है।
  • BETWEEN दोनों boundaries शामिल करता है।
  • IN list test करता; NOT IN plus NULL में care चाहिए।
  • Collation, escaping, prepared values और indexing real behavior बदलते हैं।

Official संदर्भ

References 14 August 2026 को review किए गए।

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

LIKE में % और _ का क्या अर्थ है?
Percent zero या अधिक characters और underscore exactly one character match करता है। Character comparison expression collation के अनुसार होता है।
क्या BETWEEN inclusive है?
हाँ। Comparable non-NULL values के लिए BETWEEN lower और upper दोनों boundary शामिल करता है।
कई OR की जगह IN क्यों लें?
IN value list की membership साफ दिखाता और same column दोहराने से बचाता है। Optimizer दोनों forms को कई बार समान ढंग से handle कर सकता है।
Literal percent sign कैसे खोजें?
Configured escape character से wildcard escape करें। Clarity के लिए supported MySQL syntax और connection settings के अनुसार explicit ESCAPE clause दें।
List में NULL हो तो NOT IN dangerous क्यों है?
Comparison list का NULL non-matching values के लिए predicate UNKNOWN बना सकता है। Subquery से NULL हटाएँ या उचित हो तो NOT EXISTS लें।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.