MySQL-এ DELETE ... JOIN সিনট্যাক্স ব্যবহার করে একাধিক রো একসাথে ডিলিট করা যায়।
উদাহরণ
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(100)
);
Query OK, 0 rows affected (0.69 sec)
mysql> INSERT INTO DemoTable (FirstName) VALUES
('Chris'), ('Bob'), ('Mike'), ('Adam'), ('Bob'), ('Adam'), ('Bob'), ('Mike');
Query OK, 8 rows affected
সব রেকর্ড
mysql> SELECT * FROM DemoTable;
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 2 | Bob | | 3 | Mike | | 4 | Adam | | 5 | Bob | | 6 | Adam | | 7 | Bob | | 8 | Mike | +----+-----------+
'Bob' নামের সব রো ডিলিট (SELF JOIN)
mysql> DELETE DemoTable FROM DemoTable JOIN DemoTable tbl ON DemoTable.FirstName = tbl.FirstName WHERE tbl.FirstName = 'Bob'; Query OK, 3 rows affected (0.15 sec)
ফলাফল
mysql> SELECT * FROM DemoTable;
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 3 | Mike | | 4 | Adam | | 6 | Adam | | 8 | Mike | +----+-----------+
সরল বিকল্প (MySQL 8.0+)
DELETE FROM DemoTable WHERE FirstName = 'Bob';
সেলফ-জয়িন পদ্ধতি জটিল শর্ত (যেমন: অন্য টেবিলের সাথে মিল) এর জন্য উপযোগী।