SQL был разработан в 1970-х, когда в популярных языках программирования (например, COBOL) использовались ВСЕ ЗАГЛАВНЫЕ буквы, и это соглашение должно было остаться.
Обратите внимание, что это действительно зависит от вашей реализации базы данных sql. Oracle стремится все переводить в верхний регистр. Postgresql, напротив, преобразует ключевые слова sql или идентификатор столбца в нижний регистр. Для идентификаторов (таблиц, столбцов, ...) вы можете предотвратить "умную" базу данных, заключив их в двойные кавычки.
выберите «TeST» из MyTable;
будет переведено в Oracle как «ВЫБРАТЬ« TeST »ИЗ MYTABLE; и в Postgresql, чтобы выбрать «TeST» из mytable;
Также рассмотрите это поведение, например, при использовании jdbc, поскольку имена столбцов, полученные в ResultSet, также будут следовать этим правилам, поэтому использование идентификаторов в двойных кавычках может быть хорошей практикой, если вы рассмотреть возможность переносимости.
Это потому, что это определено в стандарте ANSI. См. Раздел 5 «Лексические элементы», я полагаю, оттуда он прижился.
Они полностью эквивалентны, заглавные буквы просто упрощают чтение запроса.