rol*_*ice 3 sql data-warehouse temp-tables with-clause amazon-redshift
用外行术语来说,WITH子句和临时表之间的主要区别是什么?
在哪种情况下最好使用一种?
WITH通常,当您必须对几个包含复杂子句(例如HAVING(不一定))的子查询执行某些联接时,通常在选择查询中使用该子句。一般来说,WITH子句只能在SELECT语句中使用。
但是,在必须操纵数据的情况下,这意味着您希望根据某种复杂的条件在某种情况下更改数据,甚至想再次删除某些行TEMP TABLE。尽管大多数情况下要实现WITH它通常要付出一些复杂逻辑的代价,但是在TEMP表中您可以有几个不同的SQL语句来实现相同的目的。
另外,TEMP表通常用作临时表,而不是用于SELECT查询的视图,即TEMP当您要从中加载大量数据时S3,可以使用表,您可能希望将数据加载到临时表中,分析数据,消除冗余,最后一次性将其合并到原始表中。
虽然TEMP表仅对于当前会话是瞬态的,但WITH始终会对其进行重新评估。
| 归档时间: |
|
| 查看次数: |
2698 次 |
| 最近记录: |