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

हम डेटासेट पर MySQL UNION ऑपरेटर का उपयोग कैसे कर सकते हैं?

<घंटा/>

मूल रूप से, MySQL UNION ऑपरेटर का उपयोग 2 या अधिक SELECT स्टेटमेंट के परिणाम सेट को संयोजित करने के लिए किया जाता है। यह विभिन्न सेलेक्ट स्टेटमेंट के बीच डुप्लिकेट पंक्तियों को हटाता है। यूनियन ऑपरेटर के भीतर प्रत्येक चयन कथन में समान डेटा प्रकारों के परिणाम सेट में फ़ील्ड की समान संख्या होनी चाहिए। इसका सिंटैक्स इस प्रकार होगा -

सिंटैक्स

SELECT expression1, expression2, … expression_n
FROM table
[WHERE conditions]
UNION [DISTINCT]
SELECT expression1, expression2, … expression_n
FROM table
[WHERE conditions]

यहाँ, अभिव्यक्ति1, अभिव्यक्ति2,…अभिव्यक्ति_n वे कॉलम हैं जिन्हें हम पुनः प्राप्त करना चाहते हैं।

टेबल, वे तालिकाएँ हैं जिनसे हम अभिलेखों को पुनः प्राप्त करना चाहते हैं।

कहां स्थिति, यह वैकल्पिक है जिसे चुने जाने वाले रिकॉर्ड के लिए पूरा किया जाना चाहिए।

DISTINCT, यह वैकल्पिक भी है जो परिणाम सेट से डुप्लिकेट को हटा देता है, लेकिन DISTINCT संशोधक को शामिल करने से UNION ऑपरेटर के परिणाम सेट पर कोई प्रभाव नहीं पड़ता है क्योंकि डिफ़ॉल्ट रूप से UNION ऑपरेटर पहले से ही डुप्लिकेट को हटा देता है।

उदाहरण

इस उदाहरण में, हम दो टेबल हैं जिनका नाम स्टूडेंट_डिटेल और स्टूडेंट_इन्फो है जिसमें निम्नलिखित डेटा है -

mysql> Select * from Student_detail;
+-----------+---------+------------+------------+
| studentid | Name    | Address    | Subject    |
+-----------+---------+------------+------------+
|    101    | YashPal | Amritsar   | History    |
|    105    | Gaurav  | Chandigarh | Literature |
|    130    | Ram     | Jhansi     | Computers  |
|    132    | Shyam   | Chandigarh | Economics  |
|    133    | Mohan   | Delhi      | Computers  |
|    150    | Rajesh  | Jaipur     | Yoga       | 
|    160    | Pradeep | Kochi      | Hindi      |
+-----------+---------+------------+------------+
7 rows in set (0.00 sec)

mysql> Select * from Student_info;
+-----------+-----------+------------+-------------+
| studentid | Name      | Address    | Subject     |
+-----------+-----------+------------+-------------+
|    101    | YashPal   | Amritsar   | History     |
|    105    | Gaurav    | Chandigarh | Literature  |
|    130    | Ram       | Jhansi     | Computers   |
|    132    | Shyam     | Chandigarh | Economics   |
|    133    | Mohan     | Delhi      | Computers   |
|    165    | Abhimanyu | Calcutta   | Electronics |
+-----------+-----------+------------+-------------+
6 rows in set (0.00 sec)

अब, UNION ऑपरेटर का उपयोग करके निम्न क्वेरी सभी 'छात्र' मान दोनों तालिकाओं को लौटाती है।

mysql> Select Studentid FROM student_detail UNION SELECT Studentid FROM student_info;
+-----------+
| Studentid |
+-----------+
|    101    |
|    105    |
|    130    |
|    132    |
|    133    |
|    150    |
|    160    |
|    165    |
+-----------+
8 rows in set (0.00 sec)

  1. MySQL में अपडेट करते समय सेलेक्ट स्टेटमेंट का उपयोग कैसे करें?

    इसके लिए, MySQL UPDATE कमांड का उपयोग करते समय WHERE क्लॉज के साथ उप क्वेरी का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.82 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (150, माइक); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12

  1. क्या हम MySQL SELECT कथनों के बीच अल्पविराम का उपयोग कर सकते हैं?

    हाँ, हम ऐसा कर सकते हैं। वाक्य रचना इस प्रकार है - Syntax1:yourTableName1,yourTableName2;Syntax2 से *चुनें:अपनेTableName1 से *चुनें अपनेTableName2 को क्रॉस करें; उपरोक्त दोनों सिंटैक्स एक ही परिणाम देते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1882 (Id int);क्वेरी ओके, 0 पंक्तियाँ प्रभाव

  1. MySQL में सेलेक्ट में if/else कंडीशन का उपयोग कैसे करें?

    आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable1966 ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName varchar(20), PhotoLiked int );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1966 में डालें (उपयोगकर्ता नाम, PhotoLiked) म