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

MySQL-এ শর্তসাপেক্ষ তারিখ রেঞ্জ (بین/আগে/পরে) দিয়ে সিলেক্ট করা

MySQL-এ জয়াইনিং ও রিলিভিং তারিখ ব্যবহার করে শর্তসাপেক্ষ ডেটা ফিল্টার করা যায়।

সিনট্যাক্স

SELECT * FROM yourTableName 
WHERE yourColumnName1 < yourValue1 
  AND (yourColumnName2 > yourValue2 OR yourColumnName2 IS NULL);

উদাহরণ

কর্মচারী টেবিল তৈরি:

CREATE TABLE demo35 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    joining_date DATE,
    relieving_date DATE
);

ডেটা ইনসার্ট:

INSERT INTO demo35(joining_date, relieving_date) VALUES ('2020-01-10', '2020-07-11');
INSERT INTO demo35(joining_date, relieving_date) VALUES ('2020-05-07', '2020-12-08');
INSERT INTO demo35(joining_date, relieving_date) VALUES ('2020-04-11', '2020-09-18');
INSERT INTO demo35(joining_date, relieving_date) VALUES ('2020-03-12', '2020-10-01');

টেবিলের ডেটা:

+----+--------------+----------------+
| id | joining_date | relieving_date |
+----+--------------+----------------+
| 1  | 2020-01-10   | 2020-07-11     |
| 2  | 2020-05-07   | 2020-12-08     |
| 3  | 2020-04-11   | 2020-09-18     |
| 4  | 2020-03-12   | 2020-10-01     |
+----+--------------+----------------+

কোয়েরি

জয়াইনিং তারিখ ২০২০-০৫-১১ এর আগে এবং রিলিভিং তারিখ ২০২০-০৮-১০ এর পরে (বা NULL) হলে সিলেক্ট:

SELECT * FROM demo35
WHERE joining_date < '2020-05-11'
  AND (relieving_date > '2020-08-10' OR relieving_date IS NULL);

আউটপুট

+----+--------------+----------------+
| id | joining_date | relieving_date |
+----+--------------+----------------+
| 2  | 2020-05-07   | 2020-12-08     |
| 3  | 2020-04-11   | 2020-09-18     |
| 4  | 2020-03-12   | 2020-10-01     |
+----+--------------+----------------+

ব্যাখ্যা: ১ নম্বর রো বাদ পড়েছে কারণ রিলিভিং তারিখ ২০২০-০৭-১১ যা ২০২০-০৮-১০ এর আগে। বাকি তিনটি রো শর্ত পূরণ করে। IS NULL চেক করা হয়েছে যাতে এখনও কর্মরত কর্মচারীদের (যাদের রিলিভিং তারিখ নেই) ও পাওয়া যায়।

  1. MySQL সার্ভারের সাথে সংযোগ করার পর কমান্ড প্রম্পট থেকে ডাটাবেস কীভাবে সিলেক্ট করবেন?

  2. MySQL SELECT স্টেটমেন্টে NULL ব্যবহার

  3. MySQL-এ রিকারসিভ (Recursive) SELECT কোয়েরি করা

  4. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?