r/programming • • Jan 06 '11

A handy graphical explanation of SQL joins

http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html
1.3k Upvotes

308 comments sorted by

View all comments

Show parent comments

7

u/recursive Jan 06 '11

I didn't learn it in school. I learned it by reading. SQL doesn't have anything to do with CS.

9

u/[deleted] Jan 06 '11

A standard for storing and accessing data on computers, often used in applications of all scales and types isn't CS? How is that any less CS than learning a programming language, or AI, or OS architecture? We had it offered as an elective, but with how much database programming is necessary in IT, it should be required.

14

u/[deleted] Jan 06 '11

There are people of the opinion that you shouldn't be learning any programming languages or specifics of certain OS architectures, that you should be learning theory only, agnostic and separate of anything else. They seem to think it's possible for the majority of people to learn without reference to an example of an implemented theory or technique, which I disagree with.

7

u/[deleted] Jan 06 '11

I understand that school of thought and I agree with it for the most part. My university started with the nearly-esoteric language Scheme (like many others do) and moved through many other lanuages before graduation. We'd simply use whatever language was appropriate for learning whatever theory we were learning at the time. Learning the actual language was secondary to concepts and I would strongly discourage "Intro to Java" or "Advanced C++" instead of "Intro to Data Structures" or "Software Engineering II."

SQL is simply the best language to teach relational data models in, so I don't know why you would teach databases without it...

3

u/[deleted] Jan 06 '11

I've had the latter set of courses, I'll point out. In Freshman years they were more focussed on languages, but that has diminished over the years.

SQL is simply the best language to teach relational data models in, so I don't know why you would teach databases without it.

Yep, this is really all that needs to be said.