Groß-Klein-Schreibung ist in SQL weitgehend Geschmackssache. Daher hat lange gedauert bis mich mein Kollege Diethard umpolen konnte. Erst seit wenigen Jahren schreibe ich alle SQL-Schlüsselwörter groß.
Ob wohl es im Zeitalter der Syntaxhervorhebung tatsächlich fast egal ist, kann man auf Ausdrucken oder in per Mail verschickten Schnipseln die SQL-Befehle tatsächlich besser lesen. Die Umgewöhnung fiel mir sehr schwer, aber der Nutzen ist tatsächlich da.
Zur besseren Unterscheidung schreibe ich daher generell SQL-Schlüsselwörter groß und Variablen usw. klein. Hier ein Beispiel aus der Northwind-Datenbank:
SELECT EmployeeID, LastName, FirstName, Country
FROM Employees AS Emp
WHERE Emp.Country LIKE 'U_'
Den Name von Datenbank-Objekten sollte man hingegen generell immer "richtig" schreiben, d.h. so wie sie angelegt wurden. Deswegen habe ich im obigen Beispiel auch die Northwind-Schreibweise übernommen.
Zwar sind heutzutage case-insensitive Sortierungen üblich, aber das ist eine reine Konvention. Sollte in einem zukünftigen Release mal die Datenbank mit einer case-sensitiven Collation angelegt werden, dann wird die Suche des Optimierers in den internen Systemtabellen bei "falsch" geschriebenen Tabellennamen nicht fündig.
Besonders wichtig wird das bei Zugriffen auf Tabellen in den Systemdatenbanken. Hier wird bei der Installation des SQL-Servers festgelegt, welche Collation verwendet wird. Hier muss ich die Objektnamen in der Regel klein schreiben, z.B.:
EXEC sp_who
oder
SELECT name FROM sys.objects
Wegen der Übersichtlichkeit sorge ich dafür, dass Tabellen/Views/Procedures/etc in unseren Anwendungsdatenbanken gleich mit einem klein geschriebenen Namen oder mit Binnenkapitälchen angelegt werden. Jedenfalls dort wo ich darauf Einfluss habe. Aber natürlich ist das auch Geschmackssache… 😉