今天看别人的代码,突然发现之前理解的sql的with as的用法有新的理解。
之前理解的with as只是想着做单表的union all 操作时才使用,今天发现在可以使用逗号做分割,做缓存不同的表数据。
下面的例子如下:
WITH t1 AS
(SELECT file_id FROM UTT_DOWNLOAD_FILE),
t2 AS (SELECT FILE_TYPE FROM UTT_DOWNLOAD_FILE),
t3 AS (SELECT CUST_ID FROM UTT_DOWNLOAD_FILE)SELECT * FROM t1,t2,t3;
在这里做了三个缓存的表,然后就对三个缓存表中的数据全部查询出来。查询的结果如下:
做了数据缓存之后,我们的数据就不用每次都去查询,让表做缓存,然后查询出来,节省资源。不同的表资源缓存的时候用逗号分隔。