Welche guten Gründe gibt es, um SQL-Schlüsselwörter zu aktivieren?


28

Es scheint eine Menge Entwickler zu geben, die ihre SQL durch Großschreibung der Schlüsselwörter schreiben:

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

Ich frage mich, warum die Leute an diesem Ansatz festhalten? Klar, es ist eine seit langem etablierte Konvention - aber ich bin noch nie auf ein RDBMS gestoßen, das Großschreibung erfordert .

Ich persönlich finde KEYWORDS THAT SHOUT so, dass sie genau auf den falschen Teil der Abfrage hinweisen, weshalb ich die Schlüsselwörter in Kleinbuchstaben schreibe.

Dennoch wenden genug Leute diese Konvention an, um zu vermuten, dass mir etwas fehlt, daher diese Frage.


3
Schön, dass die Keywords besser zur Geltung kommen, auch wenn Ihre IDE den Keyword-Text in einer anderen Farbe anzeigt.
The Muffin Man

3
Die einzige Möglichkeit, mit einer Sprache in einer Sprache SHOUT
Ben DeMott

Meine frage auch +1
Saeed Neamati

Großschreibung von SQL-Schlüsselwörtern, die ich verstehen kann. Bei den meisten Tabellendeklarationen und Abfragen wird ALLES groß geschrieben, einschließlich Tabellennamen und Spalten.
MPelletier

Antworten:


22

Die Groß- und Kleinschreibung unterscheidet sie von den anderen Zeichen im Abfragefenster.

Der Grund, warum ich das nicht mache, ist eine enorme Zeitverschwendung. Sie können eines von zwei Dingen tun:

1) Halten Sie die Umschalttaste gedrückt, während Sie das Wort eingeben : viel zu fehleranfällig und nur willkürlich.

2) Setzen Sie die Feststelltaste für die Dauer des Wortes auf : etwas zu viel Zeit.

Ich verwende SQL Server, und die Umgebung (SSMS) weist eine hervorragende Hervorhebung der Syntax auf, sodass ich persönlich nicht glaube, dass die Großschreibung von Schlüsselwörtern heutzutage so weit verbreitet ist wie früher (wenn überhaupt).

In Büchern und Online-Tutorials ist dies jedoch eine bewährte Methode, sodass klar ist, welche Schlüsselwörter reserviert sind. Es ist nur eines dieser ungeschriebenen Dinge.


20
@dave, aber im Gegensatz zu Anwendungscode werden SQL-Skripte sehr wahrscheinlich in einem Editor ohne Hervorhebung der Syntax angezeigt.
Aaronaught

8
@dave: SQL-Skripte sind vollständig in sich geschlossen und werden fast immer per E-Mail verschickt, in Textfelder eingegeben, für Prüfer ausgedruckt oder in Befehlszeilenprogramme wie SQL * Plus eingegeben. Hier geht es nicht um Ihre Umgebung, sondern um die Lebensdauer von SQL-Skripten außerhalb dieser Umgebung - etwas, das im Zusammenhang mit Anwendungsquellcode eigentlich keine Rolle spielt, da es außerhalb eines Compilers / einer IDE keine wirkliche Verwendung hat.
Aaronaught

6
SQL-Anweisungen werden häufig in Protokolldateien, Fehlermeldungen, eingebettet in XML-Dokumente und an allen möglichen Stellen angezeigt, an denen Syntaxhervorhebungen nicht möglich sind. Formatierungen, die das Lesen erleichtern, sind daher immer willkommen.
James Anderson

8
-1 Wenn das Gedrückthalten der Umschalttaste oder das Drücken der Feststelltaste zu viel ist, dann gibt es meiner Meinung nach andere Probleme. Und wie viel bewirken die 25 Sekunden, die Sie gespart haben, tatsächlich?
TheLQ

2
Meine Antwort auf Ihre Frage ist eine andere Frage: Schreiben Sie täglich SQL-Code? Und multiplizieren Sie 0,25 Sekunden mit der Menge an Code, die ein SQL-Entwickler / dba schreibt ...

8

Ich finde, diese Art der Großschreibung bietet eine schnelle und einfache Möglichkeit, die verschiedenen Teile der Abfrage visuell aufzuteilen. Dies kann in Verbindung mit einer guten Einrückung die Lesbarkeit und das Verständnis der Logik verbessern.

Ob das etwas mit der Entstehung des Standards zu tun hat oder nicht, weiß ich nicht. Aber das ist meine persönliche Erfahrung.


7

In früheren Zeiten wurden Schlüsselwörter beim Schreiben von Code in keiner Weise hervorgehoben. Dies war also ein Versuch, den Leuten zu helfen, zwischen den SQL-Teilen und den Datenbankobjektteilen der Abfragen zu unterscheiden. Es hätte auch anders kommen können, als mit Objekten Neigen Sie dazu, längere Namen zu haben, was die Großschreibung erschwert, und einige Objektnamenkonventionen waren fallspezifisch.

Persönlich finde ich es genauso einfach zu lesen, wenn sie nicht groß geschrieben sind, aber viele Menschen sind es so gewohnt, sie so zu lesen, dass es sie abschreckt, wenn Sie nicht groß schreiben.


4
Ich habe vor kurzem die Menschen ausgesetzt waren , die tatsächlich tun die umzukehren, um die Objektnamen Kapitalisierung und die Schlüsselwörter in Klein verlassen; Es macht Spaß, um es gelinde auszudrücken.
Aaronaught

6

SQL ist eine klauselorientierte Sprache, viel mehr als alles andere, was ich erlebt habe. Sie haben Ihre SELECT-Klausel, Ihre FROM-Klausel, Ihre JOIN-Klausel (n) und Ihre WHERE-Klausel. ORDER BY, GROUP BY usw. usw.

Durch die Großschreibung dieser Schlüsselwörter können Sie die einzelnen Klauseln visuell voneinander trennen. Dies ist besonders praktisch, wenn Sie in einer dieser schwierigen Debugsituationen Ihr SQL in einem HTML-Kommentar ausgeben und dann in eine Konsole kopieren. Böse, aber wir waren alle da. Es ist gut, Hilfe zu haben, um zu sehen, wo die einzelnen Aussagen beginnen.


2

Ich persönlich finde KEYWORDS THAT SHOUT so, dass sie genau auf den falschen Teil der Abfrage hinweisen, weshalb ich die Schlüsselwörter in Kleinbuchstaben schreibe.

Wie bereits erwähnt, gab es bei alten IDEs neben der Schreibweise zur Unterscheidung von Text nur wenige Optionen. Wie Sie hervorheben, lenkt das Hervorheben der Schlüsselwörter Ihre Aufmerksamkeit von der Stelle ab, an der sie sich befinden sollten. Das Problem ist, dass Sie wissen, dass Schlüsselwörter immer in Groß- und Kleinschreibung geschrieben werden können, während das andere Material Literale und Bezeichner enthalten kann, bei denen die Groß- und Kleinschreibung beachtet wird. Dies führte dazu, dass der Weg des geringsten Widerstands darin bestand, nur die Schlüsselwörter groß zu schreiben.


-1

In meinem Fall ziehe ich es vor, die Schlüsselwörter unabhängig von der Syntaxhervorhebung in Großbuchstaben zu schreiben. Stellen Sie sich vor, Sie haben keinen richtigen SQL-Editor und müssen Ihre Skripte in Notepad oder WordPad schreiben / bearbeiten oder öffnen. Diese Editoren haben keine Syntaxhervorhebung.

Ich widme der Syntaxhervorhebung von SQL Server aus dem gleichen Grund, den ich oben beschrieben habe, nicht viel Aufmerksamkeit, aber es ist nützlich (es ist für mich langweilig, den gesamten Code in Schwarz zu sehen). Ich habe immer Großbuchstaben verwendet, um Stichwörter von meinen Variablen, Konstanten, Namen usw. zu unterscheiden.


Dies hätte ein Kommentar sein sollen, aber Sie haben nicht den Ruf, einen zu posten ...
Adam Zuckerman

Ich habe dies in der ursprünglichen Frage behandelt - die Verwendung von GROSSBUCHSTABEN für die Schlüsselwörter lenkt die Aufmerksamkeit des Lesers auf den am wenigsten wichtigen Teil der Abfrage oder Anweisung.
Bevan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.