Oczywiście wielkość znaków. Ale też nie zawsze.
W przypadku baz oracle mamy nieco większą dowolność:
-- taki wpis będzie poprawny select KOLUMNA from TABELKA -- taki wpis też będzie poprawny select kolumna from tabelka -- a nawet taki sElEcT KOlUMna fROm tAbElKa
Dla MySQL – niestety już nie, jeśli nazwiemy obiekt tAbElkA – to w każdym odniesieniu musimy użyć dokładnie takiej nazwy.
Czasem zdarza się, że nazywamy obiekt w sposób identyczny jak jedno ze słów kluczowych. Baza pozwala na stworzenie tabelki o nazwie SELECT albo WHERE – nie ma najmniejszego problemu.
Zapytanie w takim wypadku musi jednak wyglądać następująco:
SELECT * FROM "SELECT"
Użycie literału jest wymagane. Dodatkowo – w momencie kiedy ujmujemy nazwę w cudzysłów – wielkość znaków zaczyna mieć znaczenie także w bazie Oracle.
Identyczna sytuacja ma miejsce w przypadku warunków, poniżej dwa różne warunki:
-- warunek 1 select * from tabelka WHERE kolumna = 'Test' -- warunek 2 select * from tabelka WHERE kolumna = 'test'
Oczywiście zawsze możemy napisać warunek, który zignoruje wielkość znaków (przykład dla baz Oracle):
select * from tabelka where upper(kolumna) = 'TEST'
Należy jednak pamiętać, że jeśli kolumna jest indeksowana – baza nie skorzysta z indeksu w momencie kiedy najpierw przekształcimy kolumnę na wielkie litery…