多表关联修改sql语句
时间: 2023-06-29 14:15:30 浏览: 108
多表关联修改SQL语句的基本语法如下:
```
UPDATE table1
SET column1 = value1, column2 = value2, ...
FROM table1
INNER JOIN table2 ON table1.column = table2.column
WHERE condition;
```
其中,`table1`是要修改的表,`table2`是要关联的表,`column1`、`column2`等是要修改的列,`value1`、`value2`等是要修改为的值。`INNER JOIN`是关联两个表的语句,`ON`后面是关联条件。`WHERE`是可选的,用于筛选要修改的行。
举个例子,如果要将表`orders`中`customer_id`为1的订单的状态修改为已完成,同时更新`customers`表中对应顾客的最近订单时间,可以这样写:
```
UPDATE orders
SET status = '已完成'
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id
WHERE orders.customer_id = 1;
UPDATE customers
SET last_order_time = NOW()
WHERE customer_id = 1;
```
第一条语句将`orders`表中`customer_id`为1的订单状态修改为`'已完成'`,同时关联`customers`表更新对应顾客的最近订单时间;第二条语句单独更新`customers`表中对应顾客的最近订单时间。
阅读全文