Amazon Redshift: неопределенное использование ключевого слова FROM: УДАЛИТЬ table_name FROM - PullRequest
0 голосов
/ 28 мая 2019

При чтении SQL-запросов AWS Redshift бывшего сотрудника я наткнулся на что-то, что упрощается до следующего:

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 Ответ

2 голосов
/ 28 мая 2019

С УДАЛИТЬ - Amazon Redshift :

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

Итак, FROM необязательно.

...