SQL में, ऑपरेटर से बड़ा (>
) दो भावों की तुलना करता है और TRUE
. देता है यदि बाएं ऑपरेंड का मान दाएं ऑपरेंड से अधिक है; अन्यथा, यह FALSE
returns लौटाता है ।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT * FROM city
WHERE Population > 9000000;
परिणाम:
+------+-----------------+---------------+--------------+--------------+ | ID | Name | CountryCode | District | Population | |------+-----------------+---------------+--------------+--------------| | 206 | São Paulo | BRA | São Paulo | 9968485 | | 939 | Jakarta | IDN | Jakarta Raya | 9604900 | | 1024 | Mumbai (Bombay) | IND | Maharashtra | 10500000 | | 1890 | Shanghai | CHN | Shanghai | 9696300 | | 2331 | Seoul | KOR | Seoul | 9981619 | | 2822 | Karachi | PAK | Sindh | 9269265 | +------+-----------------+---------------+--------------+--------------+
यह क्वेरी उन सभी शहरों को लौटाती है जिनकी आबादी 90 लाख से अधिक है।
अनन्य
अधिक से अधिक ऑपरेटर इसके मूल्यांकन में निर्दिष्ट मूल्य शामिल नहीं करता है।
उदाहरण के लिए, निम्न उदाहरण कराची नहीं लौटाता, जिसकी इस डेटाबेस के अनुसार, ठीक 9269265 की आबादी है:
SELECT * FROM city
WHERE Population > 9269265;
परिणाम:
+------+-----------------+---------------+--------------+--------------+ | ID | Name | CountryCode | District | Population | |------+-----------------+---------------+--------------+--------------| | 206 | São Paulo | BRA | São Paulo | 9968485 | | 939 | Jakarta | IDN | Jakarta Raya | 9604900 | | 1024 | Mumbai (Bombay) | IND | Maharashtra | 10500000 | | 1890 | Shanghai | CHN | Shanghai | 9696300 | | 2331 | Seoul | KOR | Seoul | 9981619 | +------+-----------------+---------------+--------------+--------------+
9269265 की आबादी वाले शहरों को शामिल करने के लिए, हमें अपने निर्दिष्ट मूल्य को कम करना होगा:
SELECT * FROM city
WHERE Population > 9269264;
परिणाम:
+------+-----------------+---------------+--------------+--------------+ | ID | Name | CountryCode | District | Population | |------+-----------------+---------------+--------------+--------------| | 206 | São Paulo | BRA | São Paulo | 9968485 | | 939 | Jakarta | IDN | Jakarta Raya | 9604900 | | 1024 | Mumbai (Bombay) | IND | Maharashtra | 10500000 | | 1890 | Shanghai | CHN | Shanghai | 9696300 | | 2331 | Seoul | KOR | Seoul | 9981619 | | 2822 | Karachi | PAK | Sindh | 9269265 | +------+-----------------+---------------+--------------+--------------+
या तो वह, या हम (>=
. से अधिक या उसके बराबर का उपयोग कर सकते हैं ) ऑपरेटर।
SELECT * FROM city
WHERE Population >= 9269265;
परिणाम:
+------+-----------------+---------------+--------------+--------------+ | ID | Name | CountryCode | District | Population | |------+-----------------+---------------+--------------+--------------| | 206 | São Paulo | BRA | São Paulo | 9968485 | | 939 | Jakarta | IDN | Jakarta Raya | 9604900 | | 1024 | Mumbai (Bombay) | IND | Maharashtra | 10500000 | | 1890 | Shanghai | CHN | Shanghai | 9696300 | | 2331 | Seoul | KOR | Seoul | 9981619 | | 2822 | Karachi | PAK | Sindh | 9269265 | +------+-----------------+---------------+--------------+--------------+
तारीख
दिनांक मानों की तुलना करने के लिए अधिक से अधिक ऑपरेटर का उपयोग करके प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT PetName, DOB
FROM Pets
WHERE DOB > '2020-01-01';
परिणाम:
+-----------+------------+ | PetName | DOB | |-----------+------------| | Fluffy | 2020-11-20 | | Wag | 2020-03-15 | | Tweet | 2020-11-28 | | Fluffy | 2020-09-17 | +-----------+------------+
स्ट्रिंग्स
स्ट्रिंग मानों की तुलना करने के लिए आप ऑपरेटर से अधिक का भी उपयोग कर सकते हैं। स्ट्रिंग मान के साथ तुलना करते समय, स्ट्रिंग के चारों ओर उद्धरण चिह्नों का उपयोग करें।
SELECT * FROM city
WHERE Name > 'Zukovski'
ORDER BY Name;
परिणाम:
+------+----------+---------------+------------+--------------+ | ID | Name | CountryCode | District | Population | |------+----------+---------------+------------+--------------| | 2669 | Zumpango | MEX | México | 99781 | | 2025 | Zunyi | CHN | Guizhou | 261862 | | 3245 | Zürich | CHE | Zürich | 336800 | | 3145 | Zwickau | DEU | Saksi | 104146 | | 28 | Zwolle | NLD | Overijssel | 105819 | | 3446 | Zytomyr | UKR | Zytomyr | 297000 | +------+----------+---------------+------------+--------------+
एकाधिक शर्तें
यदि आपके पास कई शर्तें हैं, तो आप ऑपरेटरों से कई बड़े का उपयोग कर सकते हैं।
इस तरह:
SELECT * FROM city
WHERE Name > 'Zukovski' AND Population > 200000;
परिणाम:
+------+---------+---------------+------------+--------------+ | ID | Name | CountryCode | District | Population | |------+---------+---------------+------------+--------------| | 2025 | Zunyi | CHN | Guizhou | 261862 | | 3245 | Zürich | CHE | Zürich | 336800 | | 3446 | Zytomyr | UKR | Zytomyr | 297000 | +------+---------+---------------+------------+--------------+
प्राथमिकता
परिणामों को फ़िल्टर करते समय आप ऑपरेटरों के संयोजन का भी उपयोग कर सकते हैं।
ध्यान दें कि SQL में वरीयता का क्रम है जो इसे विभिन्न ऑपरेटर प्रकारों को असाइन करता है। उदाहरण के लिए, यह किसी भी तार्किक ऑपरेटरों से पहले किसी भी सशर्त ऑपरेटरों का मूल्यांकन करता है, जैसे AND
और OR
. यह किसी भी AND
. का मूल्यांकन भी करता है किसी भी OR
. से पहले ऑपरेटर ऑपरेटरों।
सभी ऑपरेटरों की तुलना में कोष्ठक की उच्च प्राथमिकता होती है, और इसलिए आप कोष्ठक का उपयोग उस क्रम को निर्दिष्ट करने के लिए कर सकते हैं जिसमें प्रत्येक शर्त का मूल्यांकन किया जाना चाहिए।
निम्नलिखित उदाहरण पर विचार करें:
SELECT * FROM city
WHERE Name > 'Zukovski'
AND Population > 100000
OR District = 'Overijssel';
परिणाम:
+------+----------+---------------+------------+--------------+ | ID | Name | CountryCode | District | Population | |------+----------+---------------+------------+--------------| | 15 | Enschede | NLD | Overijssel | 149544 | | 28 | Zwolle | NLD | Overijssel | 105819 | | 2025 | Zunyi | CHN | Guizhou | 261862 | | 3145 | Zwickau | DEU | Saksi | 104146 | | 3245 | Zürich | CHE | Zürich | 336800 | | 3446 | Zytomyr | UKR | Zytomyr | 297000 | +------+----------+---------------+------------+--------------+
इस प्रश्न में, मैंने कोई कोष्ठक नहीं दिया, और इसलिए AND
ऑपरेटर का मूल्यांकन OR
. से पहले किया गया था ऑपरेटर।
इसलिए हमें ऐसी पंक्तियाँ मिलीं जो Name > 'Zukovski' AND Population > 100000
दोनों में से किसी एक को संतुष्ट करती हैं या District = 'Overijssel'
. हम इसे देखकर ही बता सकते हैं कि ओवरिजस्सेल जिले के सभी शहरों को वापस कर दिया जाएगा, साथ ही पहले मानदंडों को पूरा करने वाले किसी भी शहर को लौटा दिया जाएगा।
यह निम्न कार्य करने जैसा है:
SELECT * FROM city
WHERE (Name > 'Zukovski'
AND Population > 100000)
OR District = 'Overijssel';
यह हमें बिना कोष्ठक के पिछली क्वेरी के समान परिणाम देगा।
लेकिन देखो क्या होता है जब हम कोष्ठकों को OR
. पर ले जाते हैं हालत।
SELECT * FROM city
WHERE Name > 'Zukovski'
AND (Population > 100000
OR District = 'Overijssel');
परिणाम:
+------+---------+---------------+------------+--------------+ | ID | Name | CountryCode | District | Population | |------+---------+---------------+------------+--------------| | 28 | Zwolle | NLD | Overijssel | 105819 | | 2025 | Zunyi | CHN | Guizhou | 261862 | | 3145 | Zwickau | DEU | Saksi | 104146 | | 3245 | Zürich | CHE | Zürich | 336800 | | 3446 | Zytomyr | UKR | Zytomyr | 297000 | +------+---------+---------------+------------+--------------+
इस बार हमें केवल वही शहर मिले जो Population > 100000 OR District = 'Overijssel'
दोनों को संतुष्ट करते हों। और Name > 'Overijssel'
।
इसके परिणामस्वरूप ओवरिजस्सेल से केवल एक शहर लौटाया जा रहा था, पिछली क्वेरी में दो के विपरीत।
शर्त को नकारना
आप NOT
का उपयोग कर सकते हैं ऑपरेटर से अधिक ऑपरेटर द्वारा प्रदान की गई शर्त को अस्वीकार करने के लिए ऑपरेटर। यहां एक उदाहरण दिया गया है:
SELECT PetName, DOB
FROM Pets
WHERE NOT DOB > '2019-12-31';
परिणाम:
+-----------+------------+ | PetName | DOB | |-----------+------------| | Fetch | 2019-08-16 | | Scratch | 2018-10-01 | +-----------+------------+