That link talks in general. In general, I agree that lowercase is more readable.
> Additionally using casing when it has no meaning is an anti-pattern.
Why do you say that it has no meaning? This is about differentiating SQL keywords from table and column identifiers. That's the meaning.
> The first is actually much easier to read, and lower case is far superior.
Reading the query whole, sure, but are you seriously suggesting that you can skim for the identifiers faster in the all-lowercase one when there are no color hints?
>Why do you say that it has no meaning? This is about differentiating SQL keywords from table and column identifiers.
One could also type like `CoUnT(dIsTiNcT CaSe WhEn ... EnD)` to make the keywords stand out. Casing has absolutely no meaning in SQL outside of single quotes.
On the other hand, (in python for example) SOME_FUNCTION() and some_function() both have meaning. They do not refer to the same thing.
>but are you seriously suggesting that you can skim for the identifiers faster in the all-lowercase one when there are no color hints?
Yes. Especially since my eyes don't get stuck on the massive blobs of ALL CAPS YELLING TEXT in the select.
> One could also type like `CoUnT(dIsTiNcT CaSe WhEn ... EnD)` to make the keywords stand out. Casing has absolutely no meaning in SQL outside of single quotes.
That the language doesn't enforce a meaning doesn't mean that we can't add meaning to the casing. This is like how in multiple languages it's convention to write constant variables in all-caps even though few languages enforce it.
That's a fantastic example because an all-caps constant actually does have a different meaning than the same word spelled in lowercase, and all the more reason to not capitalize keywords in SQL (Structured Query Language, being an acronym, is proper to capitalize)
Could you fill out the following sentence, please?
When an identifier is written in all-caps, it generally _____ that it's a constant.
I feel like you're just, in bad faith, refusing to acknowledge that the word "meaning" doesn't have to be in any way related to language enforcement. Are you trying to argue for the sake of arguing?
> Additionally using casing when it has no meaning is an anti-pattern.
Why do you say that it has no meaning? This is about differentiating SQL keywords from table and column identifiers. That's the meaning.
> The first is actually much easier to read, and lower case is far superior.
Reading the query whole, sure, but are you seriously suggesting that you can skim for the identifiers faster in the all-lowercase one when there are no color hints?