Perché la maggior parte di SQL scritto in YELLING? [duplicare]

41

Almeno su MySQL, le seguenti due query sono funzionalmente identiche:

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

Tuttavia, la maggior parte dei siti di esempio e la maggior parte degli sviluppatori con cui ho lavorato utilizzano quest'ultimo, mentre preferisco il primo.

C'è un motivo per scrivere istruzioni SQL in tutto maiuscolo? Trovo che sia più impegnativo tenere premuto il tasto Shift o attivare Caps-Lock per tutte le istruzioni del linguaggio SQL.

Inoltre, non posso fare a meno di leggere le dichiarazioni di qualcuno che urla:

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

3 risposte

38

Sta usando il caso come forma di evidenziazione della sintassi . Rende la logica distinta dai nomi delle tabelle e dai nomi dei campi.

È una forma che precede le cose nuove, come avere più di un colore su uno schermo. Lo facevamo anche con UCSD pascal .

    
risposta data 04.11.2014 - 00:34
fonte
25

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

  1. Mostra le parole chiave in modo più chiaro, anche se l'IDE è di fantasia e mette in evidenza / i colori.
  2. Alcuni editor / lingue potrebbero non avere ancora l'evidenziazione della sintassi.
  3. Le persone l'hanno fatto in questo modo perché l'evidenziazione dei colori non esisteva

Relativo all'ultimo, un esempio per chiarire le cose:

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.

Tratto da questa risposta in quanto direttamente applicabile.

Dopo un po ', le convenzioni diventano il modo in cui le persone fanno le cose anche se / quando non hanno più senso.

    
risposta data 04.11.2014 - 00:38
fonte
-2

Lo standard SQL del 1992 richiedeva maiuscole per le parole chiave. In particolare, l'elenco delle parole riservate è specificato interamente in maiuscolo. Vedi la sezione 5.2 dello standard, ISO / IEC 9075: 1992 .

Ora, quasi tutte le implementazioni (forse tutte) non gli importavano. E, se ricordo bene, ci sono state edizioni successive dello standard SQL che non richiedono l'uso di parole chiave in maiuscolo.

    
risposta data 04.11.2014 - 01:53
fonte

Leggi altre domande sui tag