Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Where can I learn more advanced SQL programming to improve my ability in SQL?

I have reviewed the database AdventureWorks 2008 but I need more.


locked by Jack Douglas Feb 12 '13 at 7:57

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

up vote 21 down vote accepted

Read questions on sites like this one, Stackoverflow or other DBMS forums.

Then try to solve those problems.

Solving real world problems is still the best practice you can have.

This is truly good advice, but I would also add that Joe Celko's books, like SQL for Smarties, are excellent resources for this exact reason. In each chapter, he gives a "puzzle" and then several potential solutions. – Robert Kaucher Mar 10 '12 at 22:51
Good point, those puzzles are really nice. – a_horse_with_no_name Mar 10 '12 at 23:03

I think, Itzik Ben-Gan and Ken Henderson books may be very usable. As for websites, one of my favorite resource is "Question of the day" concerned with T-SQL may help to improve your knowledge too.


A lot of exercises of different complexity.

I never knew it's on english too :) – Alex_L Mar 11 '12 at 6:16

A couple of good resources are SQL Course (for CRUD basics) and SQL Course 2 (which delves into aggregates, operators, and math functions). I've pointed several people to them - some without even any programming background - and they picked up the basics in just a few days.


Quick mention for Joe Celko's series of books on SQL. Some of it is a bit dated, but it's a solid grounding.


Get a book such as the SQL Certified Expert Exam Guide. Whether you take the test or not the books are designed to teach all aspects of SQL, particularly the more advanced usage.


And if you want a nice place to practice skills as you learn them, then


A really solid grasp of the fundamentals is the best starting point for advanced and basic SQL. You can download Itzik Ben-Gan's Logical Query processing poster here The poster helps you think about and write your SQL in a more logical and consistent manner. Also, probably quicker than most training courses that might take a week to get you up to the same level.

That is probably the single best aid for moving quickly and smoothly from basic SQL knowledge to doing the more advanced topics.

Itzik Ben-Gan's books are pretty good too, as well as the classic Joe Celko "puzzlers". But, almost everything involving "SQL development" revolves around that one poster - I have an A3 colour copy that goes on my wall. I also use it as basis for all SQL training.


You can try the following:

  • pluralsight

These have beginner, intermediate, and advanced T-SQL and SQL Server Management videos.


Not the answer you're looking for? Browse other questions tagged or ask your own question.