Почему записи SQL пишутся в верхнем регистре?

Возможный дубликат:
Почему я должен использовать заглавные буквы Ключевые слова SQL?

hi,

Я новичок в SQL, но заметил, что

SELECT * FROM column_name

почти всегда используется, когда

select * from column_name

дает точно такой же результат. Я ничего не могу найти в Интернете по этому поводу. Это просто условность? Или я не буду использовать заглавные буквы для разрыва скрипта в старых системах / системах, о которых я не знаю?

Благодарность


person thepandaatemyface    schedule 19.07.2010    source источник


Ответы (4)


SQL был разработан в 1970-х годах, когда в популярных языках программирования (например, COBOL) использовались ВСЕ ЗАГЛАВНЫЕ буквы, и это соглашение должно было остаться.

person dan04    schedule 19.07.2010

Это потому, что это определено в стандарте ANSI. См. Раздел 5 «Лексические элементы», я полагаю, оттуда он прижился.

http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt

person Chris Diver    schedule 19.07.2010

Они полностью эквивалентны, заглавные буквы просто упрощают чтение запроса.

person Andy    schedule 19.07.2010

Обратите внимание, что это действительно зависит от вашей реализации базы данных sql. Oracle стремится все переводить в верхний регистр. Postgresql, напротив, преобразует ключевые слова sql или идентификатор столбца в нижний регистр. Для идентификаторов (таблиц, столбцов, ...) вы можете предотвратить "умную" базу данных, заключив их в двойные кавычки.

выберите «TeST» в MyTable;

будет переведено в Oracle в SELECT "TeST" FROM MYTABLE; и в Postgresql выбрать "TeST" в mytable;

Также учитывайте это поведение при использовании, например, jdbc, поскольку имена столбцов, полученные в ResultSet, также будут соответствовать этим правилам, поэтому использование идентификаторов в двойных кавычках может быть хорошей практикой, если вы рассматриваете переносимость.

person alci    schedule 19.07.2010