Jakie są dobre powody, aby używać słów kluczowych SQL?

28

Wydaje się, że jest wielu programistów, którzy piszą SQL, używając wielkich słów kluczowych:

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

Zastanawiam się, dlaczego ludzie trzymają się tego podejścia? Oczywiście jest to od dawna ustalona konwencja - ale nigdy nie natknąłem się na RDBMS, który wymaga wielkich liter.

Osobiście uważam, że KEYWORDS, KTÓRE POWINNY zwracać uwagę na dokładnie niewłaściwą część zapytania, dlatego słowa kluczowe zapisuję małymi literami.

Mimo to wystarczająca liczba osób stosuje tę konwencję, więc myślę, że czegoś mi brakuje, stąd to pytanie.

Bevan
źródło
3
Dobrze, że słowa kluczowe wyróżniają się bardziej, nawet jeśli IDE sprawia, że ​​tekst słowa kluczowego ma inny kolor.
The Muffin Man
3
Jedynym sposobem na radzenie sobie z posiadaniem języka w języku jest skorzystanie SHOUTz poleceń interpretera SQL ...
Ben DeMott
Moje pytanie też. +1
Saeed Neamati,
Kapitalizowane słowa kluczowe SQL, które rozumiem. Widzę większość deklaracji i zapytań dotyczących tabel WSZYSTKO, w tym nazwy tabel i kolumn.
MPelletier

Odpowiedzi:

22

Wielkie litery sprawiają, że wyróżniają się na tle innych znaków w oknie zapytania.

Powód, dla którego tego nie robię, ponieważ jest to ogromna strata czasu. Możesz zrobić jedną z dwóch rzeczy:

1) Przytrzymaj klawisz Shift podczas wpisywania słowa : zbyt podatne na błędy i po prostu przypadkowe.

2) Załóż blokadę znaków na czas trwania słowa : trochę za dużo czasu.

Używam programu SQL Server, a środowisko (SSMS) ma świetne wyróżnianie składni, więc osobiście nie sądzę, aby wielkie litery były dziś tak powszechne jak kiedyś (jeśli w ogóle).

Jest to jednak dobra praktyka w książkach i samouczkach online, więc jest oczywiste, jakie są zastrzeżone słowa kluczowe. To tylko jedna z tych niepisanych rzeczy.


źródło
20
@dave, ale w przeciwieństwie do kodu aplikacji, skrypty SQL najprawdopodobniej będą wyświetlane w edytorze bez podświetlania składni.
Aaronaught
8
@dave: Skrypty SQL są całkowicie samodzielne i prawie zawsze są wysyłane pocztą e-mail, wpisywane w obszarach tekstowych, drukowane dla audytorów lub wprowadzane do narzędzi wiersza polecenia, takich jak SQL * Plus. Tu nie chodzi o twoje środowisko, ale o żywotność skryptów SQL poza tym środowiskiem - coś, co nie jest tak naprawdę problemem z kodem źródłowym aplikacji, ponieważ nie ma on rzeczywistego zastosowania poza kompilatorem / IDE.
Aaronaught
6
Instrukcje SQL często pojawiają się w plikach dziennika, komunikacie o błędzie, osadzonych w dokumentach XML i wszelkiego rodzaju miejscach, w których wyróżnianie składni nie jest możliwe - dlatego też wszelkie formatowanie ułatwiające czytanie jest zawsze mile widziane.
James Anderson
8
-1 jeśli przytrzymanie klawisza Shift lub naciśnięcie klawisza Caps Lock jest zbyt duże, to myślę, że są inne problemy. I dokładnie, ile zaoszczędziło to 0,25 sekundy na cokolwiek?
TheLQ
2
Moja odpowiedź na twoje pytanie to kolejne pytanie: czy codziennie piszesz kod SQL? I pomnóż 0,25 sekundy przez ilość kodu, który pisze programista / dba SQL ...
8

Uważam, że tego rodzaju wielkie litery zapewniają szybki i łatwy sposób wizualnego podziału różnych części zapytania. W połączeniu z dobrym wcięciem może pomóc w czytelności i zrozumieniu logiki.

Nie wiem, czy ma to związek z tym, jak powstał ten standard. Ale to moje osobiste doświadczenie.

Tyanna
źródło
7

Dawno temu słowa kluczowe nie były podświetlane w żaden sposób podczas pisania kodu, więc była to próba pomocy ludziom w rozróżnieniu między częściami SQL a częściami obiektów bazy danych w zapytaniach, mogło być inaczej zwykle mają dłuższe nazwy, co sprawia, że ​​pisanie wielkich liter jest uciążliwe, a niektóre konwencje nazewnictwa obiektów są specyficzne dla każdego przypadku.

Osobiście uważam, że jest tak samo łatwy do odczytania, jeśli nie są one pisane wielkimi literami, ale wiele osób jest tak przyzwyczajonych do czytania ich w ten sposób, że odrzuca je, jeśli się nie pisze.

HLGEM
źródło
4
I niedawno został wystawiony na ludzi, którzy rzeczywiście zrobić odwrócić konwencję, wykorzystując nazwy obiektów i pozostawienie słowa kluczowe w małych liter; co najmniej denerwujące.
Aaronaught
6

SQL jest językiem zorientowanym na klauzule, znacznie bardziej niż cokolwiek innego, czego doświadczyłem. Masz swoją klauzulę SELECT, klauzulę FROM, klauzulę JOIN i klauzulę WHERE. ORDER BY, GROUP BY itp. Itp.

Wykorzystanie tych słów kluczowych pomaga wizualnie oddzielić poszczególne klauzule. Jest to szczególnie przydatne w jednej z trudnych sytuacji debugowania, w których wypisujesz SQL w komentarzu HTML, a następnie kopiujesz i wklejasz do konsoli. Paskudne, ale wszyscy tam byliśmy. Dobrze jest pomóc zobaczyć, gdzie zaczyna się każdy fragment tego oświadczenia.

Dan Ray
źródło
2

Osobiście uważam, że KEYWORDS, KTÓRE POWINNY zwracać uwagę na dokładnie niewłaściwą część zapytania, dlatego słowa kluczowe zapisuję małymi literami.

Jak już wspomniano, w starych IDE nie było wielu opcji oprócz obudowy do różnicowania tekstu. Jak zauważyłeś, wyróżnienie słów kluczowych odwraca uwagę od tego, gdzie powinno być. Problem polega na tym, że wiesz, że słowa kluczowe można zawsze używać wielkich liter, podczas gdy inne elementy mogą zawierać literały i identyfikatory, w których rozróżniana jest wielkość liter. Prowadzi to do ścieżki najmniejszego oporu polegającej na pisaniu wielkich słów kluczowych.


źródło
-1

W moim przypadku wolę używać słów kluczowych, niezależnie od podświetlania składni. Wyobraź sobie, że nie masz odpowiedniego edytora SQL i musisz pisać / edytować lub otwierać skrypty w Notatniku lub WordPadzie. Te edytory nie mają podświetlania składni.

Nie zwracam dużej uwagi na podświetlanie składni SQL Server z tego samego powodu, który opisałem powyżej, ale jest to przydatne (nudzi mnie, gdy widzę cały kod na czarno). Zawsze używałem wielkich liter, aby odróżnić słowa kluczowe od moich zmiennych, stałych, nazw itp.

ArCiGo
źródło
To powinien być komentarz, ale nie masz reputacji, aby opublikować jeden ...
Adam Zuckerman
Omówiłem to w pierwotnym pytaniu - użycie wielkich liter w słowach kluczowych przyciąga uwagę czytelników do najmniej ważnej części zapytania lub instrukcji.
Bevan