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

MySQL सबक्वेरी में EXISTS और NOT EXISTS ऑपरेटर का उपयोग

EXISTS ऑपरेटर सबक्वेरी के परिणाम सेट में पंक्तियों के अस्तित्व की जांच करता है। यदि सबक्वेरी कोई पंक्ति लौटाती है तो EXISTS TRUE होता है, अन्यथा FALSE। NOT EXISTS इसका विपरीत करता है।

उदाहरण टेबल्स:

-- Cars टेबल
+------+--------------+---------+
| ID   | Name         | Price   |
+------+--------------+---------+
| 1    | Nexa         |  750000 |
| 2    | Maruti Swift |  450000 |
| 3    | BMW          | 4450000 |
| 4    | VOLVO        | 2250000 |
| 5    | Alto         |  250000 |
| 6    | Skoda        | 1250000 |
| 7    | Toyota       | 2400000 |
| 8    | Ford         | 1100000 |
+------+--------------+---------+

-- Customers टेबल
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
| 1           | Rahul    |
| 2           | Yashpal  |
| 3           | Gaurav   |
| 4           | Virender |
+-------------+----------+

-- Reservations टेबल
+------+-------------+------------+
| ID   | Customer_id | Day        |
+------+-------------+------------+
| 1    | 1           | 2017-12-30 |
| 2    | 2           | 2017-12-28 |
| 3    | 2           | 2017-12-29 |
| 4    | 1           | 2017-12-25 |
| 5    | 3           | 2017-12-26 |
+------+-------------+------------+

EXISTS सबक्वेरी - जिन्होंने बुकिंग की:

mysql> Select Name from customers 
    -> WHERE EXISTS (SELECT * FROM Reservations 
    -> WHERE Customers.customer_id = Reservations.customer_id);
+---------+
| Name    |
+---------+
| Rahul   |
| Yashpal |
| Gaurav  |
+---------+

NOT EXISTS सबक्वेरी - जिन्होंने बुकिंग नहीं की:

mysql> Select Name from customers 
    -> WHERE NOT EXISTS (SELECT * FROM Reservations 
    -> WHERE Customers.customer_id = Reservations.customer_id);
+----------+
| Name     |
+----------+
| Virender |
+----------+

मुख्य अंतर: IN ऑपरेटर की तुलना में EXISTS बड़े डेटासेट पर अक्सर तेज होता है क्योंकि यह पहली मैचिंग पंक्ति मिलते ही रुक जाता है।

  1. - MySQL में CREATE TABLE IF NOT EXISTS का उपयोग करके टेबल बनाएं और उसी क्वेरी में रिकॉर्ड इन्सर्ट करें

    CREATE TABLE IF NOT EXISTS ... AS SELECT के साथ टेबल निर्माण और डेटा इन्सर्ट टेबल तभी बनाएं जब वह मौजूद न हो, और उसी स्टेटमेंट में प्रारंभिक डेटा भी इन्सर्ट करने के लिए निम्न सिंटैक्स का उपयोग करें: CREATE TABLE IF NOT EXISTS yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType

  1. - MySQL में UPDATE स्टेटमेंट में AND ऑपरेटर का उपयोग कैसे करें?

    MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में AND ऑपरेटर का उपयोग करके एकाधिक शर्तों के आधार पर पंक्तियों को अपडेट किया जा सकता है। सिंटैक्स UPDATE table_name SET column = value WHERE condition1 AND condition2; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable ( -> Student

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl