Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में टेबल A की तुलना में टेबल B में नहीं होने पर टेबल C में डेटा डालें

समाधान

टेबल A और B पर LEFT JOIN का उपयोग करें, जहां B में मेल नहीं खाता वहां के रिकॉर्ड टेबल C में डालें।

उदाहरण

टेबल A (demo20):

mysql> CREATE TABLE demo20 (id INT, name VARCHAR(20));
mysql> INSERT INTO demo20 VALUES (100,'John'), (101,'Bob'), (102,'Mike'), (103,'Carol');

टेबल B (demo21):

mysql> CREATE TABLE demo21 (id INT, name VARCHAR(20));
mysql> INSERT INTO demo21 VALUES (100,'Sam'), (101,'Adam'), (133,'Bob'), (145,'David');

टेबल C (demo22):

mysql> CREATE TABLE demo22 (id INT, name VARCHAR(20));

इंसर्ट क्वेरी

mysql> INSERT INTO demo22 (id, name)
    -> SELECT tbl1.id, tbl1.name FROM demo20 tbl1
    -> LEFT JOIN demo21 tbl2 ON tbl2.id = tbl1.id
    -> WHERE tbl2.id IS NULL;

परिणाम

mysql> SELECT * FROM demo22;
+------+-------+
| id   | name  |
+------+-------+
| 102  | Mike  |
| 103  | Carol |
+------+-------+

तर्क: LEFT JOIN A की सभी पंक्तियाँ रखता है। WHERE tbl2.id IS NULL केवल उन पंक्तियों को चुनता है जिनका B में कोई मेल नहीं है।

  1. - MySQL में Nth अधिकतम मान खोजने का क्वेरी

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Value int -> ); Query OK, 0 rows affected (0.59 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(40); Query OK, 1 row affected (0.26 sec) mysql> insert into DemoTable

  1. - MySQL में किसी कॉलम में अधिकतम मान खोजना

    किसी कॉलम में अधिकतम मान खोजने के लिए MAX(columnName) का उपयोग करना होगा। लेकिन, पहले, हम MySQL में डेटाबेस और टेबल के बारे में समझेंगे। MySQL इंस्टॉल करने से पहले, यह निर्धारित करना महत्वपूर्ण है कि किस संस्करण और किस डिस्ट्रीब्यूशन फॉर्मेट (यह बाइनरी फाइल या सोर्स फाइलों से हो सकता है) का उपयोग

  1. - MySQL कॉलम से अधिकतम मान प्राप्त करना

    परिचय MySQL में किसी कॉलम का अधिकतम मान प्राप्त करने के लिए MAX() एग्रीगेट फंक्शन या ORDER BY ... DESC LIMIT 1 का उपयोग किया जा सकता है। टेबल निर्माण और डेटा सम्मिलन insert into DemoTable values(58); Query OK, 1 row affected (0.25 sec) सभी रिकॉर्ड प्रदर्शित करना select * from DemoTable; +-------