কম্পিউটার টিউটোরিয়াল

MySQL-এ BETWEEN অপারেটর ব্যবহার করে দুটি কলামের মাঝপথে মান থাকা রেকর্ড বের করা

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) ব্যবহার করুন।
  1. MySQL에서 ORDER BY RAND()와 LIMIT으로 랜덤 2개 행 선택하기

  2. MySQL-এ IFNULL() ব্যবহার করে NULL মানকে নির্দিষ্ট ভ্যালু ('Robert') দিয়ে রিপ্লেস করা

  3. MySQL-এ প্রথম ৩ রোয়ের কলাম মান নির্দিষ্ট মান দিয়ে আপডেট করা

  4. MySQL-এ ভ্যালু ০ হলে অন্য কলাম থেকে ডেটা সিলেক্ট করা