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

MySQL-এ EXCEPT অপারেটরের বিকল্প (NOT IN)

MySQL EXCEPT সেট অপারেটর সাপোর্ট করে না (PostgreSQL, SQL Server সাপোর্ট করে)। এর বিকল্প হিসেবে NOT IN বা NOT EXISTS ব্যবহার করা হয়।

দুই টেবিল তৈরি

mysql> CREATE TABLE DemoTable1 (Number1 INT);
mysql> INSERT INTO DemoTable1 VALUES (100), (200), (300);

mysql> CREATE TABLE DemoTable2 (Number1 INT);
mysql> INSERT INTO DemoTable2 VALUES (100), (400), (300);

DemoTable1-এ আছে কিন্তু DemoTable2-এ নেই (EXCEPT-এর কাজ)

mysql> SELECT Number1 FROM DemoTable1 
       WHERE Number1 NOT IN (SELECT Number1 FROM DemoTable2);

ফলাফল

+---------+
| Number1 |
+---------+
| 200     |
+---------+

বিকল্প: NOT EXISTS (নাল-সেফ)

SELECT Number1 FROM DemoTable1 t1 
WHERE NOT EXISTS (SELECT 1 FROM DemoTable2 t2 WHERE t2.Number1 = t1.Number1);

পার্থক্য: NOT IN-এ সাবকোয়েরি NULL রিটার্ন করলে পুরো ফলাফল খালি হয়। NOT EXISTS এই সমস্যা নেই এবং সাধারণত দ্রুত। বড় ডেটাসেটের জন্য LEFT JOIN ... WHERE t2.id IS NULLও ব্যবহার করা হয়।

  1. MySQL-এ Java long-এর সমতুল্য ডেটা টাইপ কী?

  2. PHP-এ MySQL UNHEX() ফাংশনের সমতুল্য: hex2bin()

  3. MySQL-এ AUTO_INCREMENT=3 এর অর্থ

  4. Java-এ MySQL SMALLINT-এর সমতুল্য ডেটা টাইপ