WHERE क्लॉज में कॉलम तुलना के साथ DELETE
दो कॉलम्स के मान समान होने पर पंक्ति डिलीट करने के लिए DELETE के साथ WHERE column1 = column2 का उपयोग करें।
आइए पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE DemoTable (
Name VARCHAR(40),
Score1 INT,
Score2 INT
);
रिकॉर्ड्स इन्सर्ट करें:
mysql> INSERT INTO DemoTable VALUES ('John', 56, 76);
mysql> INSERT INTO DemoTable VALUES ('Chris', 77, 77);
mysql> INSERT INTO DemoTable VALUES ('David', 89, 98);
सभी रिकॉर्ड्स देखें:
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-------+--------+--------+ | Name | Score1 | Score2 | +-------+--------+--------+ | John | 56 | 76 | | Chris | 77 | 77 | | David | 89 | 98 | +-------+--------+--------+
जहां Score1 = Score2 हो उन पंक्तियों को डिलीट करने के लिए क्वेरी:
mysql> DELETE FROM DemoTable WHERE Score1 = Score2;
आउटपुट: Query OK, 1 row affected
टेबल रिकॉर्ड्स फिर से जांचें:
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-------+--------+--------+ | Name | Score1 | Score2 | +-------+--------+--------+ | John | 56 | 76 | | David | 89 | 98 | +-------+--------+--------+
व्याख्या:
- Chris की पंक्ति में Score1 (77) और Score2 (77) समान हैं, इसलिए वह डिलीट हो गई
- John (56 ≠ 76) और David (89 ≠ 98) बरकरार रहे
सामान्य पैटर्न:
DELETE FROM table_name WHERE column1 = column2;
सावधानी: DELETE बिना WHERE क्लॉज के सभी पंक्तियाँ हटा देगा। हमेशा WHERE क्लॉज का उपयोग करें या पहले SELECT से जांच लें:
SELECT * FROM DemoTable WHERE Score1 = Score2; -- पहले जांचें DELETE FROM DemoTable WHERE Score1 = Score2; -- फिर डिलीट करें