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

MySQL में LEFT JOIN की मदद से टेबल्स के मान घटाना (Subtract)

MySQL में दो टेबल्स के बीच मानों का अंतर (subtraction) निकालने के लिए LEFT JOIN का उपयोग किया जा सकता है। यह तब उपयोगी होता है जब आप एक टेबल के सभी रिकॉर्ड रखते हुए दूसरी टेबल से मिलान करने वाले मानों को घटाना चाहते हैं।

उदाहरण: वर्तमान और पिछली कीमतों का अंतर

मान लीजिए दो टेबल्स हैं — value_curdate (वर्तमान कीमतें) और value_prevdate (पिछली कीमतें):

mysql> SELECT * FROM value_curdate;
+----+----------+-------+
| Id | Product  | Price |
+----+----------+-------+
| 1  | Notebook | 100   |
| 2  | Pen      | 40    |
| 3  | Pencil   | 65    |
+----+----------+-------+

mysql> SELECT * FROM value_prevdate;
+----+-----------+-------+
| Id | Product   | Price |
+----+-----------+-------+
| 1  | Notebook  | 85    |
| 2  | Pen       | 34    |
| 3  | Pencil    | 56    |
| 4  | Colors    | 65    |
| 5  | Fevistick | 25    |
+----+-----------+-------+

अब LEFT JOIN का उपयोग करके प्रत्येक उत्पाद की वर्तमान और पिछली कीमत का अंतर निकालें:

mysql> SELECT 
    vc.id, 
    vc.product, 
    vc.price AS CurPrice,
    vp.price AS PrevPrice,
    vc.price - vp.price AS Difference
FROM value_curdate vc
LEFT JOIN value_prevdate vp ON vc.id = vp.id;

परिणाम:

+----+----------+----------+-----------+------------+
| id | product  | CurPrice | PrevPrice | Difference |
+----+----------+----------+-----------+------------+
| 1  | Notebook | 100      | 85        | 15         |
| 2  | Pen      | 40       | 34        | 6          |
| 3  | Pencil   | 65       | 56        | 9          |
+----+----------+----------+-----------+------------+

महत्वपूर्ण नोट्स

  • LEFT JOIN बाएं टेबल (value_curdate) की सभी पंक्तियाँ लौटाता है, भले ही दाएं टेबल में मिलान न हो।
  • यदि दाएं टेबल में मिलान नहीं है, तो vp.price NULL होगा और घटाव का परिणाम भी NULL होगा।
  • केवल सामान्य ID वाले उत्पादों का अंतर दिखता है क्योंकि दाएं टेबल में ID 4 और 5 बाएं टेबल में नहीं हैं।
  1. - MySQL में कॉलम के सभी मानों से समान राशि कैसे घटाएँ?

    MySQL में कॉलम के सभी मानों से समान मान घटाना किसी कॉलम के सभी मानों से एक निश्चित राशि घटाने के लिए सीधे अंकगणितीय ऑपरेटर का उपयोग करें। टेबल बनाना और डेटा डालना mysql> CREATE TABLE DemoTable741 (Number INT); Query OK, 0 rows affected (0.61 sec) mysql> INSERT INTO DemoTable741 VALUES(70); Que

  1. - MySQL में टेबल के मानों को रैंडमली फेरबदल (Reshuffle) करें

    टेबल में मानों को फेरबदल करने के लिए MySQL RAND() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable792 ( Name varchar(100), Subject varchar(100) ); Query OK, 0 rows affected (0.66 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTa

  1. - MySQL में महीने के अनुसार टेबल में मानों का योग कैसे करें

    EXTRACT(MONTH FROM ...) और GROUP BY के साथ मासिक योग इसके लिए EXTRACT() का उपयोग करें, जो विशिष्ट महीने के रिकॉर्ड निकालने की अनुमति देता है। उदाहरण के लिए, जनवरी में सभी कीमतों को जोड़ना (वर्ष की परवाह किए बिना)। पहले टेबल बनाएं: create table DemoTable1415 ( ProductPurchaseDate date, ProductPrice