In the last few months, I have been getting a lot of emails via linkedin and my website asking about pointers and resources to start learning SQL Server / Querying. Hence I am putting together this article, detailing some basic steps that an absolutely newbie to SQL can start with.
SQL server is one of the most interesting technologies to learn. Microsoft provides a lot of sample databases and free tools (also called as express editions) to start. For beginners, I would say start with 5 very basic concepts:
1. Creating your first Table, Storing some Data
2. Writing some basic 'Select' queries and understanding how to filter data (where clauses)
3. How joins work and what are the different types of joins.
4. What is aggregation and what are the various types of aggregations
5. Getting acquainted to some basic functions like Date, String etc.
Once you get accustomed to these 5 things, it will be easier for you to move to other concepts.
Once you get a good grasp of these concepts, I would recommend you to learn the next few commonly used concepts in a developers world:
1. Views, Triggers, Computed columns.
2. Writing Stored Procedures, User Defined Functions.
3. Getting a grasp on how transactions work.
4. How to write Dynamic queries (this is very useful and interesting).
5. Learning some interesting Datatypes - Like XML, Spatial Etc. (Though you might not use them in Day to Day projects, its interesting to learn them)
Once you master these concepts, additional concepts are easy to grasp. The above are some of the commonly used concepts in various projects, especially in entry level positions.
The Best way to think about real time case studies in the SQL world, is to take a short term "actual" project. When you work in a project, you have a set goal to code and implement. You automatically start reading blogs, articles to figure out that one particular thing that you have been stuck on.
In my personal experience, that is the way I started learning Data science. I simply spent 1 week, getting to know the basics, what tools exist out there how people use it, what are the job profiles etc. Then I participated in Kaggle contests, where people also post the approach that they took to solve the problem.
For SQL server, I personally use Stackoverflow a lot. Its a good resource, where you can post your questions and people generally respond quickly.
Secondly, checkout SQL interview questions. Many questions are centered around "fictitious" scenarios, which aren't too off from an actual project. The solutions to those questions also can give you sufficient pointers.
Hope that helps!