Oracle的临时表和MySQL的临时表

最近在Oracle迁移MySQL过程中遇到了一些关于with as 语法的问题,但是在MySQL中是没有这样的语法的,因为我使用了临时表代替了;因此今天做了一些小总结,欢迎各位大佬指导。

一、Oracle  with as语法

with tableName as (select ....)
select ...

它在查询之前预先就构造了一个临时表,以供使用;可以一次分析,多次使用;增加了SQL的易读性。 

二、MySQL临时表

语法:

DROP TABLE IF EXISTS  DEMO_TEST; 
create temporary	table DEMO_TEST(
	SELECT * FROM product
);

注意点:

1、同一个SQL查询语句中只能使用一次;

2、仅在当前连接中可见,连接关闭时则自动删除临时表;

3、不能使用rename来重命名临时表。但是可以alter table rename代替;

猜你喜欢

转载自blog.csdn.net/weixin_42228950/article/details/108501849