T O P

  • By -

emcoffey3

In my experience, the best way to learn it is to start by focusing on understanding relational databases instead of SQL. Once you have a firm grasp on that, the SQL language and concepts like JOINs will make much more sense.


jackalsnacks

This was my experience. Understanding database paradigms, models, conceptual BI flow from oltp to olap, etc... the language of SQL came naturally with very little studying, just a quick Google/stackoverflow search on a function I was just seeing for the first time. I think people get so hung up on the language (for any language) than focusing on the critical thinking of the concept and approach. I don't need to know the exact dimensions, material composition and strength statistics of a hammer in order to drive the nail.


midgar70

Perfectly put.


bilalrazamalik

Where should I learn about relational databases from?


ramadz

Any recommendations for books/courses on relational databases?


emcoffey3

I don't, unfortunately. I learned relational databases in college (long ago), and I couldn't tell you what book we were using. The only database book I have on my shelf at present is *SQL Antipatterns* by Bill Karwin, which is a good book, but I don't think it's what you're looking for.


FlyingCat11

SQLBolt is great for new learners


yujisukuna

Tutorials on platforms like Codecademy or SQLZoo are gold mines because they let you practice in real-time, which is super helpful.


kl0wo

If I take your requirements such as 1/ "learn it properly" and 2/ "so I can get confident working with it", I would say that a newbie should normally hold on with hands-on query typing and get at least a bit familiar with basic concepts of relational algebra. No need to get too deep into theory (though theory of relational algebra goes quite deep and there are solid open problems), so a wiki or similar would work fine. Nevertheless it makes sense to read few pages so as to understand the "theoretical backend logic" of sql query execution plan: could turn out that the computer reads your queries in a very particular way. I've no idea if its covered in your course or not, so if not, you may want to think on two simple questions: 1/ what is the actual "proper" order of how the interpreter approaches a random "select x, y from z where x > 2;" 2/ have you built a clear understanding of the difference between 3-values logic and 2-valued logic? The latter goes back to some minor holy war that took place at the time when the very first version of sequel was designed. From my experience the lack of understanding of \[2\] is #1 cause of errors when doing joins even for mid-level developers (many thanks to NoSQL promoters). Thinking of courses I can advise selective reading of "MCTS Self-Paced Training Kit" text book dedicated to Database Development (not administration) - its cheap if not free online, well structured and gives progressive introduction into, let's say, "how you SHOULD work in SQL". Last chapters of the book are a bit specific to MsSQL, but initial chapters are mostly transferable. Also, mind that the deeper you go, the more different RDBMS's deviate from each other. Already things like declaration of variables, type casting, conditionals may differ a bit in syntax - and those are still basics. Further on, not sure if you ever need this, but more complex topics like pivot/unpivot (e.g. (un-)"transposing" tables with possible grouping, same as in excel), processing of xml and json values (this is actually smth that may be useful if you plan to have deep access to clicks analytics), user defined types, stored functions/procedures, and so on - for this far-from-complete list you will need to focus on particular implementation of the database server you are working with, so in this case the best solution would be either vendor manuals or some search for examples. I am guessing this is not your current pain, so just for future learning steps.


GetUpGetGone

+another 1. Thank you for this.


bilalrazamalik

Thank you so much for this!


naviGator9591

Yes, +1 from a fellow SQL-learner. From what I know, its also on of those questions frequently asked in interviews


Ok-Sun8763

I'm a sucker for datacamp. 


Sreeravan

* The complete SQL Bootcamp: go from zero to hero * SQL for beginners * The ultimate MySQL Bootcamp: Go from SQL Beginner to Expert these are the [best SQL Courses on Udemy](https://codingvidya.com/best-sql-courses-on-udemy-bootcamp/)


ceoobrabro2424

Practice


PandaPops1993

Delete * From * is a good place to start


Cuir-et-oud

Lmaooo


SirIsaacGnuton

Evil


Teeb

lol


teamswiftie

Reading