You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle中WITH关键字在MySQL中是否有等效替代方案?

MySQL中Oracle WITH关键字的等效语法

当然有啦!MySQL从8.0版本开始就原生支持WITH子句(也就是公共表表达式CTE),用法和你给出的Oracle示例几乎完全一致,不需要做太多改动。

针对你提供的Oracle代码,直接迁移到MySQL的写法如下:

WITH cus AS (SELECT id FROM tb_company WHERE id=3)
SELECT * FROM cus;

不过要注意一个关键点:如果你的MySQL版本低于8.0,那确实不支持WITH语法,这时候可以用以下两种方式替代:

  • 子查询替代
SELECT * FROM (SELECT id FROM tb_company WHERE id=3) AS cus;
  • 临时表替代(适合逻辑更复杂的场景)
CREATE TEMPORARY TABLE cus AS SELECT id FROM tb_company WHERE id=3;
SELECT * FROM cus;
DROP TEMPORARY TABLE IF EXISTS cus;

内容的提问来源于stack exchange,提问作者coldhands

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:00:58