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

MySQL सबक्वेरी में ALL, ANY, SOME, IN ऑपरेटर का उपयोग

ALL, ANY, SOME, IN ऑपरेटर मान की तुलना सबक्वेरी द्वारा लौटाए गए प्रत्येक मान से करते हैं। ये सभी एक तुलना ऑपरेटर के बाद आने चाहिए।

सिंटैक्स:

-- ALL: सभी मानों से तुलना सत्य होनी चाहिए
operand comparison_operator ALL (subquery)

-- ANY: कम से कम एक मान से तुलना सत्य होनी चाहिए
operand comparison_operator ANY (subquery)

-- SOME: ANY का पर्याय
operand comparison_operator SOME (subquery)

-- IN: मान सबक्वेरी परिणाम सेट में मौजूद होना चाहिए
operand comparison_operator IN (subquery)

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

-- 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 |
+------+-------------+------------+

ALL ऑपरेटर - किसी भी बुकिंग से मेल नहीं खाने वाले ग्राहक:

mysql> SELECT customer_id from Customers 
    -> WHERE customer_id <> ALL(Select customer_id from reservations);
+-------------+
| customer_id |
+-------------+
| 4           |
+-------------+

ग्राहक 4 (Virender) की ID, सबक्वेरी द्वारा लौटाई गई सभी IDs (1,2,3) से अलग है।

ANY ऑपरेटर - कम से कम एक बुकिंग वाले ग्राहक:

mysql> SELECT customer_id from customers 
    -> WHERE customer_id = ANY(Select customer_id from reservations);
+-------------+
| customer_id |
+-------------+
| 1           |
| 2           |
| 3           |
+-------------+

SOME ऑपरेटर - ANY के समान:

mysql> SELECT customer_id from customers 
    -> WHERE customer_id = Some(Select customer_id from reservations);
+-------------+
| customer_id |
+-------------+
| 1           |
| 2           |
| 3           |
+-------------+

IN ऑपरेटर - सूची में मौजूद मान:

mysql> SELECT customer_id from customers 
    -> WHERE customer_id IN (Select customer_id from reservations);
+-------------+
| customer_id |
+-------------+
| 1           |
| 2           |
| 3           |
+-------------+

मुख्य अंतर:

  • IN = = ANY (समान व्यवहार)
  • NOT IN ≠ <> ALL (NULL मानों के कारण व्यवहार भिन्न)
  • SOME = ANY (SQL मानक में दोनों)
  1. - MySQL में WITH ROLLUP मॉडिफायर का उपयोग क्या है?

    WITH ROLLUP GROUP BY क्लॉज के साथ उपयोग होने वाला एक मॉडिफायर है जो सारांश पंक्तियां (सुपर-एग्रीगेट) जोड़ता है - उच्च-स्तरीय योग संचालन दर्शाने वाली अतिरिक्त पंक्तियां। उदाहरण - ratelist टेबल: Select Item, SUM(Price) AS Price from ratelist Group by item WITH ROLLUP; +------+-------+ | Item | Price

  1. - MySQL IGNORE INSERT स्टेटमेंट का क्या उपयोग है?

    मूल रूप से, IGNORE INSERT स्टेटमेंट का उपयोग MySQL तालिका में डुप्लिकेट डेटा के सम्मिलन को रोकने के लिए किया जाता है। यदि हम INSERT कमांड के बजाय INSERT IGNORE कमांड का उपयोग करेंगे तो यदि कोई रिकॉर्ड मौजूदा रिकॉर्ड को डुप्लिकेट नहीं करता है, तो MySQL इसे हमेशा की तरह सम्मिलित करता है लेकिन यदि रिकॉ

  1. - MySQL सबक्वेरी का उपयोग करके अधिकतम आयु वाले सभी उपयोगकर्ताओं का चयन करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable ( Name varchar(100), Age int ); Query OK, 0 rows affected (0.46 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris,23); Query OK, 1 row affected (0.20 sec) mysql> ins