मुख्य सामग्री पर जाएं
मॉड्यूल 1 · पाठ 3 का 4पाठ्यक्रम में 3/57~10 min
मॉड्यूल पाठ (3/4)

WHERE से फ़िल्टर करना

अक्सर हमें तालिका की सभी पंक्तियों की नहीं, बल्कि केवल उनकी ही आवश्यकता होती है एक निश्चित शर्त को पूरा करें. WHERE क्लॉज़ a के आधार पर पंक्तियों को फ़िल्टर करता है बूलियन अभिव्यक्ति:

SQL
SELECT <colonne>
FROM   <tabella>
WHERE  <condizione>;

इंजन एक समय में एक पंक्ति की स्थिति का मूल्यांकन करता है और केवल उन्हें ही रखता है जिसके लिए यह TRUE लौटाता है।

तुलना संचालक

सबसे आम हैं:

  • = बराबर, <> (या !=) बराबर नहीं
  • <, <=, >, >=
  • BETWEEN a AND b - बंद अंतराल (ए और बी शामिल)
  • IN (v1, v2, …) — सूची में सदस्यता
  • LIKE 'patt%' — वाइल्डकार्ड से मेल खाने वाला टेक्स्ट %

टेक्स्ट मान सिंगल कोट्स में लपेटे गए हैं: 'Milano'।

संयोजन की स्थितियाँ

आप AND, OR के साथ कई शर्तों को जोड़ सकते हैं और उन्हें नकार सकते हैं NOT. उन्हें मिलाते समय, स्पष्टता के लिए कोष्ठक का उपयोग करें:

SQL
WHERE department_id = 1
  AND (salary > 40000 OR hired_on < '2020-01-01');

इसे अजमाएं

व्यायाम#sql.m1.l3.e1
प्रयास: 0लोड हो रहा है...

40,000 से अधिक वेतन वाले कर्मचारियों का पहला नाम (पहला_नाम), अंतिम नाम (अंतिम_नाम) और वेतन (वेतन) निकालें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

आपको जिस शर्त की आवश्यकता है वह है वेतन> 40000। संख्याओं को उद्धरण की आवश्यकता नहीं है।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#sql.m1.l3.e2
प्रयास: 0लोड हो रहा है...

उन कर्मचारियों का पहला नाम (first_name) और अंतिम नाम (last_name) निकालें जिनका अंतिम नाम 'R' अक्षर से शुरू होता है। % वाइल्डकार्ड के साथ LIKE का प्रयोग करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

पैटर्न 'R%' का अर्थ है: स्ट्रिंग्स जो R से शुरू होती हैं और उसके बाद कुछ भी।

3 प्रयासों के बाद समाधान उपलब्ध है