Database
 sql >> डेटाबेस >  >> RDS >> Database

शुरुआती के लिए ऑपरेटर के बीच एसक्यूएल

SQL में, BETWEEN ऑपरेटर आपको उन मानों की जांच करने की अनुमति देता है जो किसी दी गई सीमा के भीतर हैं।

BETWEEN ऑपरेटर परीक्षण के लिए एक श्रेणी निर्दिष्ट करता है, और यह TRUE देता है जब ऑपरेंड तुलना की सीमा के भीतर हो।

स्रोत तालिका

इस पृष्ठ पर उदाहरणों के लिए निम्न तालिका का उपयोग किया गया है।

SELECT * FROM Pets;

परिणाम:

+---------+-------------+-----------+-----------+------------+
| PetId   | PetTypeId   | OwnerId   | PetName   | DOB        |
|---------+-------------+-----------+-----------+------------|
| 1       | 2           | 3         | Fluffy    | 2020-11-20 |
| 2       | 3           | 3         | Fetch     | 2019-08-16 |
| 3       | 2           | 2         | Scratch   | 2018-10-01 |
| 4       | 3           | 3         | Wag       | 2020-03-15 |
| 5       | 1           | 1         | Tweet     | 2020-11-28 |
| 6       | 3           | 4         | Fluffy    | 2020-09-17 |
| 7       | 3           | 2         | Bark      | NULL       |
| 8       | 2           | 4         | Meow      | NULL       |
+---------+-------------+-----------+-----------+------------+
(8 rows affected)

उदाहरण

BETWEEN को प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है ऑपरेटर।

SELECT * FROM Pets 
WHERE DOB BETWEEN '2018-10-01' AND '2020-09-17';

परिणाम:

+---------+-------------+-----------+-----------+------------+
| PetId   | PetTypeId   | OwnerId   | PetName   | DOB        |
|---------+-------------+-----------+-----------+------------|
| 2       | 3           | 3         | Fetch     | 2019-08-16 |
| 3       | 2           | 2         | Scratch   | 2018-10-01 |
| 4       | 3           | 3         | Wag       | 2020-03-15 |
| 6       | 3           | 4         | Fluffy    | 2020-09-17 |
+---------+-------------+-----------+-----------+------------+

इस उदाहरण में, हमने उन सभी पंक्तियों को लौटा दिया जहां DOB कॉलम 2018-10-01 . के बीच था और 2020-09-17 .

इस मामले में, चार पंक्तियाँ उस मानदंड से मेल खाती थीं, और इसलिए, चार पंक्तियाँ वापस कर दी गईं।

बीच समावेशी है

BETWEEN ऑपरेटर। समावेशी है। अर्थात्, इसमें श्रेणी के प्रत्येक छोर पर मान शामिल हैं। यदि आप पिछले उदाहरण में परिणामों को देखते हैं, तो आप देखेंगे कि दोनों सिरों पर ऐसे मान हैं जो हमारे द्वारा प्रदान की गई तिथियों से सटीक रूप से मेल खाते हैं।

यह ऑपरेटर के बराबर या उससे अधिक का उपयोग करने जैसा ही है (>= ) ऑपरेटर से कम या उसके बराबर के साथ संयुक्त (<= )।

SELECT * FROM Pets 
WHERE DOB >= '2018-10-01' AND DOB <= '2020-09-17';

परिणाम:

+---------+-------------+-----------+-----------+------------+
| PetId   | PetTypeId   | OwnerId   | PetName   | DOB        |
|---------+-------------+-----------+-----------+------------|
| 2       | 3           | 3         | Fetch     | 2019-08-16 |
| 3       | 2           | 2         | Scratch   | 2018-10-01 |
| 4       | 3           | 3         | Wag       | 2020-03-15 |
| 6       | 3           | 4         | Fluffy    | 2020-09-17 |
+---------+-------------+-----------+-----------+------------+

इसे एक विशिष्ट श्रेणी बनाने के लिए, (> . से अधिक का उपयोग करें ) ऑपरेटर और उससे कम (< ) ऑपरेटर।

SELECT * FROM Pets 
WHERE DOB > '2018-10-01' AND DOB < '2020-09-17';

परिणाम:

+---------+-------------+-----------+-----------+------------+
| PetId   | PetTypeId   | OwnerId   | PetName   | DOB        |
|---------+-------------+-----------+-----------+------------|
| 2       | 3           | 3         | Fetch     | 2019-08-16 |
| 4       | 3           | 3         | Wag       | 2020-03-15 |
+---------+-------------+-----------+-----------+------------+

यदि आपको BETWEEN का उपयोग करना चाहिए ऑपरेटर, आपको तदनुसार सीमा को कम करना होगा।

इस तरह:

SELECT * FROM Pets 
WHERE DOB BETWEEN '2018-10-02' AND '2020-09-16';

परिणाम:

+---------+-------------+-----------+-----------+------------+
| PetId   | PetTypeId   | OwnerId   | PetName   | DOB        |
|---------+-------------+-----------+-----------+------------|
| 2       | 3           | 3         | Fetch     | 2019-08-16 |
| 4       | 3           | 3         | Wag       | 2020-03-15 |
+---------+-------------+-----------+-----------+------------+

संख्यात्मक मानों का उपयोग करना

पिछले उदाहरण तिथियों का उपयोग करते हैं, लेकिन आप केवल तिथियों तक ही सीमित नहीं हैं। यहां एक उदाहरण दिया गया है जो संख्यात्मक मानों का उपयोग करता है।

SELECT * FROM Pets 
WHERE OwnerId BETWEEN 2 AND 3;

परिणाम:

+---------+-------------+-----------+-----------+------------+
| PetId   | PetTypeId   | OwnerId   | PetName   | DOB        |
|---------+-------------+-----------+-----------+------------|
| 1       | 2           | 3         | Fluffy    | 2020-11-20 |
| 2       | 3           | 3         | Fetch     | 2019-08-16 |
| 3       | 2           | 2         | Scratch   | 2018-10-01 |
| 4       | 3           | 3         | Wag       | 2020-03-15 |
| 7       | 3           | 2         | Bark      | NULL       |
+---------+-------------+-----------+-----------+------------+

स्ट्रिंग मानों का उपयोग करना

हम इसे एक कदम आगे ले जा सकते हैं और BETWEEN . का उपयोग कर सकते हैं दो स्ट्रिंग कॉलम की तुलना करने के लिए।

SELECT * FROM Pets 
WHERE PetName BETWEEN 'Meow' AND 'Wag'
ORDER BY PetName;

परिणाम:

+---------+-------------+-----------+-----------+------------+
| PetId   | PetTypeId   | OwnerId   | PetName   | DOB        |
|---------+-------------+-----------+-----------+------------|
| 8       | 2           | 4         | Meow      | NULL       |
| 3       | 2           | 2         | Scratch   | 2018-10-01 |
| 5       | 1           | 1         | Tweet     | 2020-11-28 |
| 4       | 3           | 3         | Wag       | 2020-03-15 |
+---------+-------------+-----------+-----------+------------+

हालांकि आपको सावधान रहने की जरूरत है। आप सोच सकते हैं कि हम सिर्फ शुरुआती अक्षर का इस्तेमाल इस तरह कर सकते हैं:

SELECT * FROM Pets 
WHERE PetName BETWEEN 'M' AND 'W'
ORDER BY PetName;

लेकिन इसका परिणाम यह होगा:

+---------+-------------+-----------+-----------+------------+
| PetId   | PetTypeId   | OwnerId   | PetName   | DOB        |
|---------+-------------+-----------+-----------+------------|
| 8       | 2           | 4         | Meow      | NULL       |
| 3       | 2           | 2         | Scratch   | 2018-10-01 |
| 5       | 1           | 1         | Tweet     | 2020-11-28 |
+---------+-------------+-----------+-----------+------------+

इसमें Wag शामिल नहीं था पिछली क्वेरी की तरह। ऐसा इसलिए है क्योंकि BETWEEN पूरे तार को देखता है। उस स्थिति में, Wag W . से बड़ा है , और इसलिए इसे परिणामों में शामिल नहीं किया गया है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विंडोज सर्वर 2019 पर एक्सएएमपीपी सॉफ्टवेयर स्थापित और कॉन्फ़िगर करें

  2. ऑब्जर्वर ओवरहेड और प्रतीक्षा प्रकार के लक्षण

  3. समस्या सेट 1 - संस्थाओं की पहचान

  4. Linux के कस्टम कुंजी स्टोर से सुरक्षित डेटा का उपयोग करना

  5. एक ऑनलाइन सर्वेक्षण के लिए एक डेटाबेस मॉडल। भाग 1