Amazon Redshift:未定义使用FROM关键字:DELETE table_name FROM

时间:2019-05-28 07:25:44

标签: sql postgresql amazon-web-services amazon-redshift

在阅读前员工的AWS Redshift SQL查询时,我遇到了一些简化的事情:

delete
    names
from
(
    select 'Stu' AS last_name 
) kill_list
where
    kill_list.last_name = names.last;

当我针对Redshift运行它时,它看起来就像是在运行:

delete from
    names
using
(
    select 'Stu' AS last_name 
) kill_list
where
    kill_list.last_name = names.last;

但是,我在要删除的表名之后找不到有关使用FROM子句的任何文档,所以我想知道这是否是有效的sql代码,或者它是否无效,但是我们很幸运,并且Redshift按照我们希望的方式对其进行了评估。

当我尝试使用Postgres v10在此处运行它时,出现语法错误: https://www.db-fiddle.com/f/nYQz84mgNMctMiS38zk5AZ/0

1 个答案:

答案 0 :(得分:2)

来自DELETE - Amazon Redshift

DELETE [ FROM ] table_name
[ {USING } table_name, ... ]
[ WHERE condition ]

因此,FROM是可选的。