Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

LEFT JOIN을 사용하여 MySQL 테이블에서 값을 어떻게 뺄 수 있습니까?


두 테이블에 일부 값이 있고 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)