Почему разрешено использование «from» за именем таблицы?Что оно делает? - PullRequest
0 голосов
/ 04 января 2019

SQL для DB2 довольно строг, поэтому я удивился, что этот запрос был успешно выполнен:

select 1 from sysibm.sysdummy1 from

Это точно так же, как?

select 1 from sysibm.sysdummy1

Если двойное fromразрешено, почему не допускается двойная where/select/order by/having?Есть ли разница в выводе при выполнении этого запроса для «реальной» таблицы?

1 Ответ

0 голосов
/ 04 января 2019

Db2 (для Linux, Unix, Windows) предоставляет список зарезервированных схем и слов .Как указано в документации, Db2 не применяет этот список, но рекомендуется не использовать их по причинам переносимости.

A из завершается успешно, но не , где , поскольку необязательное предложение WHERE следует в том месте, где вы пытались использовать зарезервированные слова.В этом случае у вас есть неполное предложение WHERE , и оно нарушает правила грамматики.Таким образом, рекомендуется соблюдать список зарезервированных слов и не использовать их.Вы можете (свобода слова ... ;-)), но вы должны быть внимательны ...

...