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

MySQL में INSERT INTO SELECT UNION ALL से एक क्वेरी में दो टेबल में चयन और सम्मिलन

MySQL में INSERT INTO ... SELECT ... UNION ALL ... SELECT का उपयोग करके एक ही क्वेरी में एक टेबल से डेटा चुनकर दूसरी टेबल में एकाधिक पंक्तियां डाल सकते हैं।

उदाहरण

1. लक्ष्य टेबल बनाएं

mysql> CREATE TABLE DemoTable1 (
    -> StudentName VARCHAR(20),
    -> StudentMarks INT
    -> );

2. स्रोत टेबल बनाएं

mysql> CREATE TABLE DemoTable2 (Name VARCHAR(20));
mysql> INSERT INTO DemoTable2 VALUES('Chris');

3. एक क्वेरी में चयन और सम्मिलन

mysql> INSERT INTO DemoTable1
    -> SELECT Name, 89 FROM DemoTable2
    -> UNION ALL
    -> SELECT Name, 98 FROM DemoTable2;
Query OK, 2 rows affected

4. परिणाम देखें

mysql> SELECT * FROM DemoTable1;
+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| Chris       | 89           |
| Chris       | 98           |
+-------------+--------------+

व्याख्या

  • पहला SELECT: 'Chris', 89 चुनता है
  • UNION ALL: परिणाम सेट जोड़ता है (डुप्लिकेट रखता है)
  • दूसरा SELECT: 'Chris', 98 चुनता है
  • दोनों पंक्तियां DemoTable1 में डाली जाती हैं

UNION vs UNION ALL

ऑपरेटरडुप्लिकेटप्रदर्शन
UNIONहटाता हैधीमा (सॉर्ट/हैश)
UNION ALLरखता हैतेज़

कॉलम मिलान

  • प्रत्येक SELECT में समान संख्या में कॉलम होने चाहिए
  • स्थिति के अनुसार कॉलम मिलते हैं (नाम नहीं)
  • डेटा प्रकार संगत होने चाहिए

उन्नत: एकाधिक स्रोत टेबल

INSERT INTO target (name, score)
SELECT name, score FROM table1 WHERE active = 1
UNION ALL
SELECT name, score FROM table2 WHERE active = 1
UNION ALL
SELECT 'Manual Entry', 100;  -- स्थिर मान भी जोड़ सकते हैं
  1. - MySQL में दो टेबल पर एकल SELECT क्वेरी करना (कार्टेशियन उत्पाद)

    MySQL में दो टेबल पर कार्टेशियन उत्पाद (क्रॉस जॉइन) दो टेबल पर बिना जॉइन शर्त के SELECT करने से कार्टेशियन उत्पाद (क्रॉस जॉइन) उत्पन्न होता है: पहली टेबल की प्रत्येक पंक्ति दूसरी टेबल की प्रत्येक पंक्ति के साथ जुड़ती है। परिणाम पंक्तियाँ = पंक्तियाँ_टेबल1 × पंक्तियाँ_टेबल2। उदाहरण: दो असंबंधित टेबल

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड

  1. - MySQL में एक क्वेरी से दो कॉलम कैसे अपडेट करें?

    MySQL में एक ही UPDATE स्टेटमेंट में एकाधिक कॉलम अपडेट करने के लिए, SET क्लॉज़ में कॉलम को कॉमा से अलग करके सूचीबद्ध करें। यह एटॉमिक ऑपरेशन सुनिश्चित करता है और क्वेरी ओवरहेड कम करता है। उदाहरण: FirstName और LastName एक साथ अपडेट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1909 ( Id