Que boas razões existem para capitalizar palavras-chave SQL?

28

Parece haver muitos desenvolvedores que escrevem seu SQL capitalizando as palavras-chave:

SELECT column
FROM table
     INNER JOIN table
     ON condition
WHERE condition
GROUP BY clause
HAVING condition

Eu estou querendo saber por que as pessoas aderem a essa abordagem? Claramente, é uma convenção estabelecida há muito tempo - mas nunca me deparei com um RDBMS que exija capitalização.

Pessoalmente, acho que as PALAVRAS-CHAVE QUE DEVEM chamar atenção exatamente para a parte errada da consulta, e é por isso que escrevo as palavras-chave em minúsculas.

Ainda assim, muitas pessoas usam essa convenção que eu imagino estar perdendo alguma coisa, daí essa pergunta.

Bevan
fonte
3
É bom destacar mais as palavras-chave, mesmo que seu IDE torne a cor do texto da palavra-chave diferente.
O Muffin Man
3
A única maneira de lidar com ter um idioma dentro de um idioma, é para SHOUTos comandos no interpretador de SQL ...
Ben DeMott
A minha pergunta também. +1
Saeed Neamati
Capitalizando palavras-chave SQL que eu possa entender. A maioria das declarações e consultas de tabela vejo maiúsculas TUDO, nomes e colunas de tabela incluídos.
MPelletier 26/09/12

Respostas:

22

As letras maiúsculas as destacam, em oposição aos outros caracteres que estão na janela de consulta.

A razão pela qual eu não faço isso é uma grande perda de tempo. Você pode fazer uma das duas coisas:

1) Mantenha a tecla Shift pressionada enquanto digita a palavra : muito propensa a erros e apenas aleatória.

2) Coloque caps lock pela duração da palavra : um pouco de tempo demais.

Eu uso o SQL Server, e o ambiente (SSMS) tem um grande destaque de sintaxe, então eu pessoalmente não acredito que a capitalização de palavras-chave seja tão prevalente hoje em dia como costumava ser (se é que existe).

É uma boa prática em livros e tutoriais on-line, portanto, é evidente quais são as palavras-chave reservadas. É apenas uma daquelas coisas não escritas.


fonte
20
@dave mas, diferentemente do código do aplicativo, é muito provável que os scripts SQL sejam visualizados em um editor sem destaque da sintaxe.
Aaronaught
8
@dave: os scripts SQL são completamente independentes e quase sempre são enviados por e-mail, digitados em áreas de texto, impressos para auditores ou inseridos em utilitários de linha de comando como o SQL * Plus. Isso não é sobre o seu ambiente, é sobre a vida útil dos scripts SQL fora desse ambiente - algo que não é realmente uma preocupação com o código-fonte do aplicativo, porque não tem uso real fora de um compilador / IDE.
Aaronaught
6
As instruções SQL frequentemente aparecem em arquivos de log, mensagens de erro, incorporadas em documentos XML e em todos os tipos de lugares onde o destaque de sintaxe não é uma opção - portanto, qualquer formatação que facilite a leitura é sempre bem-vinda.
James Anderson
8
-1 se pressionar demais a tecla Shift ou pressionar Caps Lock for demais, acho que há outros problemas. E exatamente quanto esses 0,25 segundos que você salvou realmente afetam alguma coisa?
TheLQ
2
Minha resposta para sua pergunta é outra pergunta: você escreve código SQL diariamente? E multiplicar .25 segundos pela quantidade de código um desenvolvedor SQL / escreve dba ...
8

Acho que esse tipo de capitalização fornece uma maneira rápida e fácil de dividir visualmente as diferentes partes da consulta. Isso combinado com um bom recuo pode ajudar na legibilidade e compreensão da lógica.

Se isso tem algo a ver com a forma como o padrão surgiu, eu não sei. Mas essa é a minha experiência pessoal.

Tyanna
fonte
7

Bem antigamente, as palavras-chave não eram destacadas de maneira alguma quando você escrevia o código, por isso foi uma tentativa de ajudar as pessoas a diferenciar entre as partes SQL e os objetos de banco de dados e partes das consultas; poderia ter sido o contrário, mas os objetos tendem a ter nomes mais longos, tornando-os mais difíceis de capitalizar e algumas convenções de nomenclatura de objetos eram específicas de cada caso.

Pessoalmente, acho fácil ler se não estiverem em maiúsculas, mas muitas pessoas estão tão acostumadas a lê-las dessa maneira que as jogam fora, se você não capitalizar.

HLGEM
fonte
4
Eu estive recentemente expostos a pessoas que realmente fazer reverter a convenção, capitalizando os nomes de objectos e deixando as palavras-chave em letras minúsculas; é chocante, para dizer o mínimo.
Aaronaught
6

SQL é uma linguagem orientada a cláusulas, muito mais do que qualquer outra coisa que já experimentei. Você tem sua cláusula SELECT, sua cláusula FROM e suas cláusulas JOIN e sua cláusula WHERE. ORDENAR POR, GRUPO POR, etc, etc.

Colocar em maiúscula essas palavras-chave ajuda a separar visualmente as cláusulas separadas. Isso é especialmente útil quando em uma daquelas situações complicadas de depuração em que você está produzindo seu SQL em um comentário HTML e depois copiando e colando em um console. Desagradável, mas todos nós já estivemos lá. É bom ter alguma ajuda para ver onde cada parte da declaração começa.

Dan Ray
fonte
2

Pessoalmente, acho que as PALAVRAS-CHAVE QUE DEVEM chamar atenção exatamente para a parte errada da consulta, e é por isso que escrevo as palavras-chave em minúsculas.

Como foi apontado, com os IDE antigos, você não tinha muitas opções além da embalagem para diferenciar o texto. Como você ressalta, destacar as palavras-chave afasta sua atenção de onde deveria estar. O problema é que você sabe que as palavras-chave sempre podem ser capitalizadas, enquanto as outras coisas podem conter literais e identificadores que diferenciam maiúsculas de minúsculas. Isso levou a que o caminho de menor resistência fosse apenas capitalizar as palavras-chave.


fonte
-1

No meu caso, prefiro capitalizar as palavras-chave, independentemente do destaque da sintaxe. Imagine que você não possui um editor SQL adequado e precisa escrever / editar ou abrir seus scripts no Bloco de Notas ou no WordPad. Esses editores não têm um destaque de sintaxe.

Não presto muita atenção ao destaque da sintaxe do SQL Server pelo mesmo motivo que descrevi acima, mas é útil (é entediante ver todo o código em preto). Eu sempre usei maiúsculas para distinguir palavras-chave das minhas variáveis, constantes, nomes, etc.

ArCiGo
fonte
Este deve ter sido um comentário, mas você não tem a reputação de postar um ...
Adam Zuckerman
Eu cobri isso na pergunta original - usar CAPITALS para as palavras-chave atrai a atenção dos leitores para a parte menos importante da consulta ou declaração.
Bevan