Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào chúng ta có thể trừ các giá trị trong bảng MySQL với sự trợ giúp của LEFT JOIN?


Nó có thể được hiểu với sự trợ giúp của một ví dụ trong đó hai bảng có một số giá trị và chúng tôi trừ các giá trị với sự trợ giúp của LEFT JOIN. Ở đây chúng tôi lấy hai bảng có dữ liệu sau -

mysql> Select * from value_curdate;
+----+----------+-------+
| Id | Product  | Price |
+----+----------+-------+
| 1  | Notebook | 100   |
| 2  | Pen      | 40    |
| 3  | Pencil   | 65    |
+----+----------+-------+
3 rows in set (0.00 sec)

mysql> Select * from value_prevdate;
+----+-----------+-------+
| Id | Product   | Price |
+----+-----------+-------+
| 1  | Notebook  | 85    |
| 2  | Pen       | 34    |
| 3  | Pencil    | 56    |
| 4  | Colors    | 65    |
| 5  | Fevistick | 25    |
+----+-----------+-------+
5 rows in set (0.00 sec)

Hai bảng trên đang có giá sản phẩm hiện tại và giá trước đó tương ứng. Bây giờ, truy vấn sau, bằng cách sử dụng LEFT JOIN, sẽ tìm thấy sự khác biệt về giá giữa các sản phẩm giống nhau được lưu trữ trong cả hai bảng.

mysql> Select value_curdate.id, value_curdate.product, value_curdate.price as Curprice,value_prevdate.price as 'prevprice', value_curdate.price-value_prevdate.price as 'Difference' from value_curdate LEFT JOIN value_prevdate ON value_curdate.id = value_prevdate.id ;
+----+----------+----------+-----------+------------+
| id | product  | Curprice | prevprice | Difference |
+----+----------+----------+-----------+------------+
| 1  | Notebook | 100      | 85        | 15         |
| 2  | Pen      | 40       | 34        | 6          |
| 3  | Pencil   | 65       | 56        | 9          |
+----+----------+----------+-----------+------------+
3 rows in set (0.00 sec)