BETWEEN অপারেটর ব্যবহার করে একটি নির্দিষ্ট মান দুটি কলামের মাঝপথে আছে কিনা তা চেক করা যায়। এটি রেঞ্জ চেকের জন্য আদর্শ।
টেবিল তৈরি ও ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable787 (Score1 INT, Score2 INT, Name VARCHAR(100)); Query OK, 0 rows affected (0.84 sec)
mysql> INSERT INTO DemoTable787 VALUES (34, 56, 'Chris'); Query OK, 1 row affected (0.19 sec) mysql> INSERT INTO DemoTable787 VALUES (73, 86, 'Robert'); Query OK, 1 row affected (0.19 sec) mysql> INSERT INTO DemoTable787 VALUES (90, 99, 'David'); Query OK, 1 row affected (0.19 sec) mysql> INSERT INTO DemoTable787 VALUES (80, 89, 'Adam'); Query OK, 1 row affected (0.21 sec)
রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable787;
আউটপুট:
+--------+--------+--------+ | Score1 | Score2 | Name | +--------+--------+--------+ | 34 | 56 | Chris | | 73 | 86 | Robert | | 90 | 99 | David | | 80 | 89 | Adam | +--------+--------+--------+ 4 rows in set (0.00 sec)
৫৬ মান Score1 ও Score2-এর মাঝপথে আছে কিনা চেক
mysql> SELECT Name FROM DemoTable787 WHERE 56 BETWEEN Score1 AND Score2;
ফলাফল (Chris-এর রোতে ৩৪-৫৬ রেঞ্জে ৫৬ আছে):
+-------+ | Name | +-------+ | Chris | +-------+ 1 row in set (0.00 sec)
ব্যাখ্যা
value BETWEEN low AND highসমতুল্যvalue >= low AND value <= high।- এখানে ৫৬ একটি কনস্ট্যান্ট, কিন্তু এটি কলামও হতে পারে।
- যদি
Score1 > Score2হয়, তবেBETWEENকাজ করবে না (low <= high প্রয়োজন)। সেক্ষেত্রেWHERE 56 BETWEEN LEAST(Score1,Score2) AND GREATEST(Score1,Score2)ব্যবহার করুন।