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.
sql
history
coding-standards
Bevan
fonte
fonte
SHOUT
os comandos no interpretador de SQL ...Respostas:
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
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.
fonte
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.
fonte
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.
fonte
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
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.
fonte