Report
Hey all!
My girlfriend asked me to teach her SQL ๐ฅณ and Iโd love to do that! So Iโm thinking about a syllabus that would make sense.
Any thoughts on must-haves for a SQL course?
Would love to hear some of your ideas!
I'd say db design
Makes sense. Do you have any resources/topics that you find particularly important or interesting re: db design?
When I tried to learn SQL, a bunch of the resources I found focus on teaching you the syntax, which is more like a bottom-up approach to teaching.
It's hard to care about the syntax when you don't know how to apply the knowledge. Coming from Python ORM, I can already create db tables without SQL; what I wanted was a resource that would give a holistic view of how to design a real application (ex. a note-taking app where there is a User table and a Note table) and the implementation to bring it to life, which was surprisingly hard to find. I like this approach as merely learning syntax can be kind of dry.
But I also think it depends on your intended audience. SQL is widely used even for non-dev people in tech. My guess is that they would mostly be reading instead of writing data, so how to write efficient and complex queries would be more useful (just a wild guess).
Makes total sense, thanks for the detailed answer.
"... which was surprisingly hard to find." -> Out of my own curiosity, did you end up finding one? If yes, what is it?
And to your second point: yea, she'll probably be working as a non-dev person, so for her writing, efficient and complex queries would probably make more sense.
Interesting question Matthais. Probably depends on why she wants to learn it. It may be just to have some familiarity with the concepts in which case I'd spend I think the simple crud and also select, joins and some filtering and aggregates (group by, sum, count ) and an intro to w3schools.com are enough to get started.
But if she's got a particular reason why she needs to learn then that changes and I'd tailor it to her needs
She's doing a Master's degree in economics and wants to get into data analytics roles later on. I was thinking in the same direction as you: CRUD, select, joins, etc. Given that she'd like to jump into data analytics roles, do you have any other thoughts on how to best prepare her for that? Thanks a lot!
Like others have mentioned, being that it will probably not be a dev position, learning to write efficient and reliable queries for the data set is huge. A full proper answer is outside of my skill set but I'd add then subqueies and cte which are some things I find myself constantly using
May also want to consider at least introducing different dbs and their designs.
Get her PracticalSQL, from No Starch Press.
Checking it out right now
I suggested it since it was written by a journalist who downloaded census data and used SQL as a tool to explore and pull insights from the data. It's very different from the typical SQL for programmers building Twitter clones presentation.
Inner and outer joins are important to make fetching data easier.
Perfect, got that on my list!
More about Indexes, please.
I learned a lot from https://www.youtube.com/watch?v=HubezKbFL7E
Watching the video right now, thanks for pointing that out! Great presentation
I love the idea, the more people know SQL the better!
I am running TogetherDB, an online database for developers and I could sponsor publicly accessible databases if you are interested. This would be public mysql and postgresql databases with an easy interface where your students could practice zheir queries. We are also working on a Sqlite playground in the browser which you might be able to use.
If you are intested to cooperate say hi to [email protected] ๐
Normal forms.
If you can get her to understand basic table joins then you are guru
Haha, I'll do my best!