Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เราจะลบค่าในตาราง MySQL ด้วยความช่วยเหลือของ LEFT JOIN ได้อย่างไร


สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่างซึ่งสองตารางมีค่าบางอย่างและเราลบค่าด้วยความช่วยเหลือของ LEFT JOIN เรานำตารางสองตารางที่มีข้อมูลดังต่อไปนี้ -

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)

สองตารางด้านบนมีราคาปัจจุบันและราคาก่อนหน้าของผลิตภัณฑ์ตามลำดับ ขณะนี้ แบบสอบถามต่อไปนี้ โดยใช้ LEFT JOIN จะค้นหาความแตกต่างของราคาระหว่างผลิตภัณฑ์เดียวกันที่จัดเก็บไว้ในตารางทั้งสอง

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)