在阅读前员工的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
答案 0 :(得分:2)
DELETE [ FROM ] table_name
[ {USING } table_name, ... ]
[ WHERE condition ]
因此,FROM
是可选的。