Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
SQL is actually quite old, dating to 1973. It is also probably an evolution of similar previous languages. Seems like in those days, upper case was favored in programming. See BASIC, COBOL, Fortran...
#1: Initial revision
SQL is actually quite old, dating to 1973. It is also probably an evolution of similar previous languages. Seems like in those days, upper case was favored in programming. See BASIC, COBOL, Fortran. Assembly from those days also seems to use uppercase. My guess would be that computers back then had limited resolution, and uppercase letters were easier to work with. Some say that uppercase makes the text easier to parse. I haven't seen empirical evidence for this, and my own experience is that there's little difference but lowercase is more pleasant to read and type. These days, I think syntax highlighting is much more effective as a reading aid. Once you do have highlighting, casing doesn't help much, and arguably makes it worse. These days, it's often possible to set things up so that you develop your SQL in your favorite advanced text editor, and most SQL platforms also have built in highlighting. But this was not always so (and color display was not always a given). Notably, SQL is not _entirely_ case insensitive. For keywords, casing usually doesn't matter. But for identifiers it can. Snowflake, for example, is case sensitive for identifiers -- you can even have tables `FOO`, `Foo`, `foo` all in the same schema. Snowflake gives the _appearance_ that identifiers are not case sensitive because its default name resolution policy is to ignore casing variations, but you can see the case sensitive behavior if you quote them like `select * from "FoO"`.
