¿Qué buenas razones hay para capitalizar las palabras clave SQL?

28

Parece que hay muchos desarrolladores que escriben su SQL capitalizando las palabras clave:

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

Me pregunto por qué la gente se apega a este enfoque. Claramente, es una convención establecida desde hace mucho tiempo, pero nunca me he encontrado con un RDBMS que requiera capitalización.

Personalmente, considero que las PALABRAS CLAVE QUE GRITAN están llamando la atención exactamente sobre la parte incorrecta de la consulta, por lo que escribo las palabras clave en minúsculas.

Aún así, suficientes personas usan esta convención que me imagino que podría estar perdiendo algo, de ahí esta pregunta.

Bevan
fuente
3
Es bueno que las palabras clave se destaquen más, incluso si su IDE hace que el texto de las palabras clave tenga un color diferente.
The Muffin Man
3
La única manera de hacer frente a tener un idioma dentro de un idioma, es a SHOUTlos comandos en el intérprete de SQL ...
Ben Demott
Mi pregunta tambien +1
Saeed Neamati
Aprovechar las palabras clave SQL que puedo entender. La mayoría de las declaraciones y consultas de tablas que veo capitalizan TODO, incluidos los nombres de tabla y las columnas.
MPelletier

Respuestas:

22

Las mayúsculas los hacen destacar, a diferencia de los otros caracteres que están en la ventana de consulta.

La razón por la que no hago esto es una gran pérdida de tiempo. Puedes hacer una de las dos cosas:

1) Mantenga presionada la tecla Mayús mientras escribe la palabra : demasiado propenso a errores y al azar.

2) Póngase el bloqueo de mayúsculas durante la duración de la palabra : demasiado tiempo de consumo.

Uso SQL Server, y el entorno (SSMS) tiene un excelente resaltado de sintaxis, por lo que personalmente no creo que la capitalización de palabras clave sea tan frecuente en estos días como solía ser (si es que lo es).

Sin embargo, es una buena práctica en libros y tutoriales en línea, por lo que es evidente cuáles son las palabras clave reservadas. Es solo una de esas cosas no escritas.


fuente
20
@dave pero a diferencia del código de la aplicación, es muy probable que los scripts SQL se vean en un editor sin resaltar la sintaxis.
Aaronaught
8
@dave: los scripts SQL son completamente independientes y casi siempre se envían por correo electrónico, se escriben en áreas de texto, se imprimen para auditores o se ingresan en utilidades de línea de comandos como SQL * Plus. No se trata de su entorno, se trata de la vida útil de los scripts SQL fuera de ese entorno, algo que no es realmente una preocupación con el código fuente de la aplicación porque no tiene un uso real fuera de un compilador / IDE.
Aaronaught
66
Las declaraciones SQL aparecen con frecuencia en archivos de registro, mensajes de error, incrustados en documentos XML y en todo tipo de lugares donde el resaltado de sintaxis no es una opción, por lo que cualquier formato que facilite la lectura siempre es bienvenido.
James Anderson el
8
-1 si mantener presionada la tecla shift o presionar el bloqueo de mayúsculas es demasiado, entonces creo que hay otros problemas. ¿Y cuánto afecta exactamente eso .25 segundos que guardó realmente?
TheLQ
2
Mi respuesta a su pregunta es otra: ¿escribe código SQL a diario? Y se multiplican por .25 segundos la cantidad de código a un desarrollador de SQL / escritura dba ...
8

Creo que este tipo de capitalización proporciona una forma rápida y fácil de dividir visualmente las diferentes partes de la consulta. Esto combinado con una buena sangría puede ayudar a la legibilidad y la comprensión de la lógica.

Si eso tiene o no que ver con cómo surgió el estándar, no lo sé. Pero esa es mi experiencia personal.

Tyanna
fuente
7

Bueno, en los viejos tiempos, las palabras clave no se resaltaban de ninguna manera cuando escribía código, por lo que era un intento de ayudar a las personas a diferenciar entre las partes SQL y las partes de los objetos de la base de datos de las consultas, podría haber sido al revés, pero los objetos tienden a tener nombres más largos, lo que los hace más difíciles de capitalizar y algunas convenciones de denominación de objetos eran específicas de cada caso.

Personalmente, me resulta igual de fácil de leer si no están en mayúscula, pero muchas personas están tan acostumbradas a leerlos de esa manera que los descarta si no se capitalizan.

HLGEM
fuente
44
Recientemente he estado expuesto a personas que realmente hacen revertir la convención, que capitalizan los nombres de objeto y salen de las palabras clave en minúsculas; es discordante, por decir lo menos.
Aaronaught
6

SQL es un lenguaje orientado a cláusulas, mucho más que cualquier otra cosa que haya experimentado. Tienes tu cláusula SELECT, y tu cláusula FROM, y tus cláusulas JOIN y tu cláusula WHERE. ORDER BY, GROUP BY, etc., etc.

Capitalizar esas palabras clave lo ayuda a separar visualmente las cláusulas separadas. Esto es especialmente útil cuando se encuentra en una de esas situaciones difíciles de depuración en las que está generando su SQL en un comentario HTML y luego copiando y pegando en una consola. Desagradable, pero todos hemos estado allí. Es bueno tener ayuda para ver dónde comienza cada parte de la declaración.

Dan Ray
fuente
2

Personalmente, considero que las PALABRAS CLAVE QUE GRITAN están llamando la atención exactamente sobre la parte incorrecta de la consulta, por lo que escribo las palabras clave en minúsculas.

Como se ha señalado, con los IDE antiguos no tenía muchas opciones además de la carcasa para diferenciar el texto. Como señala, hacer que las palabras clave se destaquen atrae su atención de donde debería estar. El problema es que usted sabe que las palabras clave siempre se pueden poner en mayúscula, mientras que las otras cosas pueden contener literales e identificadores que distinguen entre mayúsculas y minúsculas. Esto conduce a que el camino de menor resistencia sea capitalizar las palabras clave.


fuente
-1

En mi caso, prefiero capitalizar las palabras clave, independientemente del resaltado de sintaxis. Imagine que no tiene un editor de SQL adecuado y necesita escribir / editar o abrir sus scripts en el Bloc de notas o WordPad. Estos editores no tienen un resaltado de sintaxis.

No presto mucha atención al resaltado de sintaxis de SQL Server por la misma razón que describí anteriormente, pero es útil (me aburre ver todo el código en negro). Siempre he usado mayúsculas para distinguir palabras clave de mis variables, constantes, nombres, etc.

ArCiGo
fuente
Esto debería haber sido un comentario, pero no tienes la reputación de publicar uno ...
Adam Zuckerman
Cubrí esto en la pregunta original: el uso de MAYÚSCULAS para las palabras clave atrae la atención de los lectores sobre la parte menos importante de la consulta o declaración.
Bevan