SQL में, ऑपरेटर से कम (<
) दो भावों की तुलना करता है और TRUE
. देता है यदि बाएं ऑपरेंड का मान दाएं ऑपरेंड से कम है; अन्यथा, परिणाम FALSE
है ।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT * FROM city
WHERE Population < 600;
परिणाम:
+------+--------------------+---------------+-------------+--------------+ | ID | Name | CountryCode | District | Population | |------+--------------------+---------------+-------------+--------------| | 62 | The Valley | AIA | – | 595 | | 2316 | Bantam | CCK | Home Island | 503 | | 2317 | West Island | CCK | West Island | 167 | | 2728 | Yaren | NRU | – | 559 | | 2912 | Adamstown | PCN | – | 42 | | 3333 | Fakaofo | TKL | Fakaofo | 300 | | 3538 | Città del Vaticano | VAT | – | 455 | +------+--------------------+---------------+-------------+--------------+
यह क्वेरी उन सभी शहरों को लौटाती है, जिनकी आबादी 600 से कम है।
अनन्य
कम से कम ऑपरेटर इसके मूल्यांकन में निर्दिष्ट मूल्य शामिल नहीं करता है।
उदाहरण के लिए, निम्न उदाहरण Fakaofo को वापस नहीं करता है, जिसकी आबादी 300 है:
SELECT * FROM city
WHERE Population < 300;
परिणाम:
+------+-------------+---------------+-------------+--------------+ | ID | Name | CountryCode | District | Population | |------+-------------+---------------+-------------+--------------| | 2317 | West Island | CCK | West Island | 167 | | 2912 | Adamstown | PCN | – | 42 | +------+-------------+---------------+-------------+--------------+
300 की आबादी वाले शहरों को शामिल करने के लिए, हमें अपना निर्दिष्ट मूल्य बढ़ाना होगा:
SELECT * FROM city
WHERE Population < 301;
परिणाम:
+------+-------------+---------------+-------------+--------------+ | ID | Name | CountryCode | District | Population | |------+-------------+---------------+-------------+--------------| | 2317 | West Island | CCK | West Island | 167 | | 2912 | Adamstown | PCN | – | 42 | | 3333 | Fakaofo | TKL | Fakaofo | 300 | +------+-------------+---------------+-------------+--------------+
तारीख
दिनांक मानों की तुलना करने के लिए ऑपरेटर से कम का उपयोग करके प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT PetName, DOB
FROM Pets
WHERE DOB < '2020-01-01';
परिणाम:
+-----------+------------+ | PetName | DOB | |-----------+------------| | Fetch | 2019-08-16 | | Scratch | 2018-10-01 | +-----------+------------+
स्ट्रिंग्स
स्ट्रिंग मानों की तुलना करने के लिए आप ऑपरेटर से कम का भी उपयोग कर सकते हैं। स्ट्रिंग मान के साथ तुलना करते समय, स्ट्रिंग के चारों ओर उद्धरण चिह्नों का उपयोग करें।
SELECT * FROM city
WHERE Name < 'Ab';
परिणाम:
+------+------------------------------+---------------+---------------------+--------------+ | ID | Name | CountryCode | District | Population | |------+------------------------------+---------------+---------------------+--------------| | 20 | ´s-Hertogenbosch | NLD | Noord-Brabant | 129170 | | 548 | Šumen | BGR | Varna | 94686 | | 670 | A Coruña (La Coruña) | ESP | Galicia | 243402 | | 698 | [San Cristóbal de] la Laguna | ESP | Canary Islands | 127945 | | 2450 | Šiauliai | LTU | Šiauliai | 146563 | | 3097 | Aachen | DEU | Nordrhein-Westfalen | 243825 | | 3318 | Aalborg | DNK | Nordjylland | 161161 | | 3479 | Šostka | UKR | Sumy | 90000 | | 3665 | Šahty | RUS | Rostov-na-Donu | 221800 | | 3736 | Štšolkovo | RUS | Moskova | 104900 | +------+------------------------------+---------------+---------------------+--------------+
यह क्वेरी उन सभी शहरों को लौटाती है जो Ab
. से कम हैं . मूल रूप से, यह उन सभी शहरों को लौटाता है जो Ab
. से कम अक्षरों से शुरू होते हैं ।
एकाधिक शर्तें
यदि आपके पास कई शर्तें हैं, तो आप ऑपरेटरों की तुलना में कई कम का उपयोग कर सकते हैं।
इस तरह:
SELECT * FROM city
WHERE Name < 'Ab' AND Population < 100000;
परिणाम:
+------+--------+---------------+------------+--------------+ | ID | Name | CountryCode | District | Population | |------+--------+---------------+------------+--------------| | 548 | Šumen | BGR | Varna | 94686 | | 3479 | Šostka | UKR | Sumy | 90000 | +------+--------+---------------+------------+--------------+
प्राथमिकता
परिणामों को फ़िल्टर करते समय आप ऑपरेटरों के संयोजन का भी उपयोग कर सकते हैं।
ध्यान दें कि SQL में वरीयता का क्रम है जो इसे विभिन्न ऑपरेटर प्रकारों को असाइन करता है। उदाहरण के लिए, यह किसी भी तार्किक ऑपरेटरों से पहले किसी भी सशर्त ऑपरेटरों का मूल्यांकन करता है, जैसे AND
और OR
. यह किसी भी AND
. का मूल्यांकन भी करता है किसी भी OR
. से पहले ऑपरेटर ऑपरेटरों।
सभी ऑपरेटरों की तुलना में कोष्ठक की उच्च प्राथमिकता होती है, और इसलिए आप कोष्ठक का उपयोग उस क्रम को निर्दिष्ट करने के लिए कर सकते हैं जिसमें प्रत्येक शर्त का मूल्यांकन किया जाना चाहिए।
निम्नलिखित उदाहरण पर विचार करें:
SELECT * FROM city
WHERE Name < 'Ab'
AND Population < 100000
OR District = 'Canary Islands';
परिणाम:
+------+------------------------------+---------------+----------------+--------------+ | ID | Name | CountryCode | District | Population | |------+------------------------------+---------------+----------------+--------------| | 548 | Šumen | BGR | Varna | 94686 | | 660 | Las Palmas de Gran Canaria | ESP | Canary Islands | 354757 | | 672 | Santa Cruz de Tenerife | ESP | Canary Islands | 213050 | | 698 | [San Cristóbal de] la Laguna | ESP | Canary Islands | 127945 | | 3479 | Šostka | UKR | Sumy | 90000 | +------+------------------------------+---------------+----------------+--------------+
इस प्रश्न में, मैंने कोई कोष्ठक नहीं दिया, और इसलिए AND
ऑपरेटर का मूल्यांकन OR
. से पहले किया गया था ऑपरेटर।
इसलिए हमें ऐसी पंक्तियाँ मिलीं जो Name < 'Ab' AND Population < 100000
. को संतुष्ट करती हैं या District = 'Canary Islands'
. हम इसे देखकर ही बता सकते हैं कि कैनरी द्वीप समूह के सभी शहरों को वापस कर दिया जाएगा, साथ ही पहले मानदंडों को पूरा करने वाले किसी भी शहर को लौटा दिया जाएगा।
यह निम्न कार्य करने जैसा है:
SELECT * FROM city
WHERE (Name < 'Ab'
AND Population < 100000)
OR District = 'Canary Islands';
यह हमें बिना कोष्ठक के पिछली क्वेरी के समान परिणाम देगा।
लेकिन देखो क्या होता है जब हम कोष्ठकों को OR
. पर ले जाते हैं हालत।
SELECT * FROM city
WHERE Name < 'Ab'
AND (Population < 100000
OR District = 'Canary Islands');
परिणाम:
+------+------------------------------+---------------+----------------+--------------+ | ID | Name | CountryCode | District | Population | |------+------------------------------+---------------+----------------+--------------| | 548 | Šumen | BGR | Varna | 94686 | | 698 | [San Cristóbal de] la Laguna | ESP | Canary Islands | 127945 | | 3479 | Šostka | UKR | Sumy | 90000 | +------+------------------------------+---------------+----------------+--------------+
इस बार हमें केवल वही शहर मिले जो Population < 100000 OR District = 'Canary Islands'
दोनों को संतुष्ट करते हों और Name < 'Ab'
।
शर्त को नकारना
आप NOT
का उपयोग कर सकते हैं ऑपरेटर से कम ऑपरेटर द्वारा प्रदान की गई शर्त को अस्वीकार करने के लिए ऑपरेटर। यहां एक उदाहरण दिया गया है:
SELECT PetName, DOB
FROM Pets
WHERE NOT DOB < '2019-12-31';
परिणाम:
+-----------+------------+ | PetName | DOB | |-----------+------------| | Fluffy | 2020-11-20 | | Wag | 2020-03-15 | | Tweet | 2020-11-28 | | Fluffy | 2020-09-17 | +-----------+------------+