mysql中update t1 left join t2 on t1.co1 = t2.co2 left join t3 on t2.co2 = t3.co3 set t1.co3= t3.co3 如何改写成Oracle语句
时间: 2023-12-17 09:02:46 浏览: 101
正确使用MySQL update语句
在 Oracle 中,可以使用以下语法来重写该 MySQL 查询:
```sql
UPDATE t1
SET t1.co3 = (
SELECT t3.co3
FROM t2
JOIN t3 ON t2.co2 = t3.co3
WHERE t1.co1 = t2.co2
)
WHERE EXISTS (
SELECT 1
FROM t2
JOIN t3 ON t2.co2 = t3.co3
WHERE t1.co1 = t2.co2
);
```
这个语句使用了子查询来更新 t1.co3 列。首先,通过连接 t1 和 t2 表,然后再连接 t2 和 t3 表,找到匹配的行,然后将 t3.co3 的值赋给 t1.co3。同时,使用 WHERE EXISTS 子句来确保至少有一个匹配的行。
请注意,这只是一种可能的重写方式,具体取决于你的数据模型和需求。在实际使用时,请根据你的表结构和业务逻辑进行适当的调整。
阅读全文