Por que a maioria dos escritos em SQL no YELLING? [duplicado]

41

Pelo menos no MySQL, as duas consultas a seguir são funcionalmente idênticas:

select * from users limit 0, 1000;
SELECT * FROM users LIMIT 0, 1000;

No entanto, a maioria dos sites de exemplo e a maioria dos desenvolvedores com quem trabalhei usam o último, enquanto eu prefiro o primeiro.

Existe uma razão para escrever instruções SQL em maiúsculas? Eu acho que é mais difícil manter pressionada a tecla Shift ou ativar Caps-Lock para todas as instruções de linguagem SQL.

Além disso, não posso deixar de ler declarações como alguém gritando:

DELETE FROM users WHERE id = 12345;
# OBLITERATE EVERYTHING FROM USERS WHERE THE ID IS 12345!!!!!!!!!!!!! NAO!
    
por Naftuli Kay 04.11.2014 / 00:25
fonte

3 respostas

38

Está usando o caso como uma forma de destaque da sintaxe . Isso torna a lógica distinta dos nomes das tabelas e dos campos.

É um formulário que antecede coisas novas como ter mais de uma cor em uma tela. Costumávamos fazer isso com o UCSD pascal também.

    
por 04.11.2014 / 00:34
fonte
25

Is there a reason to write SQL statements in all-caps?

  1. Mostra as palavras-chave com mais clareza, mesmo que seu IDE seja sofisticado e realces / cores.
  2. Alguns editores / idiomas ainda podem não ter destaque de sintaxe.
  3. As pessoas fizeram isso porque o realce de cor não existia

Relacionado ao último, um exemplo para esclarecer:

Take five chimpanzees. Put them in a big cage. Suspend some bananas from the roof of the cage. Provide the chimpanzees with a stepladder. BUT also add a proximity detector to the bananas, so that when a chimp goes near the banana, water hoses are triggered and the whole cage is thoroughly soaked.

Soon, the chimps learn that the bananas and the stepladder are best ignored.

Now, remove one chimp, and replace it with a fresh one. That chimp knows nothing of the hoses. He sees the banana, notices the stepladder, and because he is a smart primate, he envisions himself stepping on the stepladder to reach the bananas. He then deftly grabs the stepladder... and the four other chimps spring on him and beat him squarely. He soon learns to ignore the stepladder.

Then, remove another chimp and replace it with a fresh one. The scenario occurs again; when he grabs the stepladder, he gets mauled by the four other chimps -- yes, including the previous "fresh" chimp. He has integrated the notion of "thou shallt not touch the stepladder".

Iterate. After some operations, you have five chimps who are ready to punch any chimp who would dare touch the stepladder -- and none of them knows why.

Extraído de esta resposta , pois é diretamente aplicável.

Depois de um tempo, as convenções se tornam o modo como as pessoas fazem as coisas, mesmo quando não fazem mais sentido.

    
por 04.11.2014 / 00:38
fonte
-2

O padrão SQL de 1992 exigia letras maiúsculas para palavras-chave. Especificamente, a lista de palavras reservadas é especificada inteiramente em maiúsculas. Veja a seção 5.2 da norma, ISO / IEC 9075: 1992 .

Agora, quase todas (possivelmente todas) as implementações não se importaram. E, se bem me lembro, houve edições subsequentes do padrão SQL que não exigiam palavras-chave especificadas em maiúsculas.

    
por 04.11.2014 / 01:53
fonte

Tags