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

MySQL-এ একটি টেবিলের সারি যেটি অন্য টেবিলে নেই সেগুলো কীভাবে বের করবেন?

NATURAL LEFT JOIN ব্যবহার করে ব্যতিক্রমী সারি বের করা

দুটি টেবিলের মধ্যে যেসব সারি প্রথম টেবিলে আছে কিন্তু দ্বিতীয় টেবিলে নেই, সেগুলো বের করার জন্য NATURAL LEFT JOIN এবং WHERE ... IS NULL ব্যবহার করা হয়।

দুই টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> CREATE TABLE FirstTableDemo (id INT, name VARCHAR(100));
mysql> INSERT INTO FirstTableDemo VALUES (1,'Bob'), (2,'John'), (3,'Carol');

mysql> CREATE TABLE SecondTableDemo (id INT, name VARCHAR(100));
mysql> INSERT INTO SecondTableDemo VALUES (1,'Bob'), (2,'John');

কোয়েরি: প্রথম টেবিলে থাকা কিন্তু দ্বিতীয়ে নাও থাকা সারি

mysql> SELECT tbl1.*
    -> FROM FirstTableDemo tbl1
    -> NATURAL LEFT JOIN SecondTableDemo tbl2
    -> WHERE tbl2.name IS NULL;

আউটপুট:

+------+-------+
| id   | name  |
+------+-------+
| 3    | Carol |
+------+-------+

ব্যাখ্যা: NATURAL LEFT JOIN একই নামের কলাম অনুযায়ী জয়েন করে। দ্বিতীয় টেবিলে মিল না পাওয়া সারিগুলোর কলাম NULL হয়, সেটাই ফিল্টার করা হয়েছে।

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

  2. MySQL-এ INSERT INTO SELECT ব্যবহার করে এক টেবিল থেকে অন্য টেবিলে রো কপি করা

  3. MySQL-এ টেবিলে নেই এমন মানগুলো কোয়েরি করে বের করা (UNION ALL + NOT EXISTS)

  4. MySQL-এ DISTINCT কলাম থেকে গড় (AVG) বের করা