Quick SQL Primers
March 16, 2005 4:05 AM   Subscribe

After a year of employment, my boss is suddenly asking me to use my skills in SQL. It has been a year since I used them, and I need to brush up.

At my previous job, I learned SQL from coworkers, and did not need to use any reference books. Now that I need to re-learn it and add new knowledge, I need to know what the best online or book sources are. Also I need to do this rather quickly, and since I'm sure a lot of it will come back to me, I really just need a quick-and-dirty primer. What are some good sources?

I have heard that SQL can be slightly different in different programs, is this true? If so, then I will mention that I will primarily be using this in an Rbase database.
posted by veronitron to Computers & Internet (7 answers total) 1 user marked this as a favorite
 
I really dig Ben Forta's "Learn SQL in 10 Minutes."

It won't teach you everything, but it's a nice, general overview of the subject and an indispensible reference.
posted by ph00dz at 4:36 AM on March 16, 2005


I have heard that SQL can be slightly different in different programs, is this true?

It's true, but if you learn general SQL, the differences shouldn't be too extreme.
posted by unreason at 5:39 AM on March 16, 2005


I really like Robert Vieira's Professional SQL Server 2000 from Wrox. It covers pretty much everything, in a nice instructive style. It's all by the same author, so it doesn't suffer from the usual Wrox-itis.
posted by matildaben at 6:07 AM on March 16, 2005


you should try to learn the sql standard, and use it where possible. not everything is covered in the standard, and different databases differ in how well they follow the standard and in what they add/leave out. but if you follow the standard as much as possible then you will find it easier to migrate code to other platforms in the future, and easier to find others who understand what you produce. so look for general books, but also use you local manual.

there are (at least) three different aspects to "sql". it might be worth explaining them because it will give you a quick idea of what (if anything) you don't know (i too learnt from others, and at first i didn't realise just how much ground sql / database programming covered).

first, there's getting data in and out of the system. select, insert, etc. google will get you a long way with this and you should be pretty much all standard sql.

second there's designing a database - how you choose the tables and the relationships between them. this doesn't have much to do with sql, but is important. look for books (or google) on "database design".

third, there's configuring the database to work well. this is partly operations, but also includes using sql to put constraints on tables, automate certain changes, etc. understanding all the details at this level generally means you're a "database person" rather than a general programmer, but you need to be aware that such issues exist (look for information on keys, triggers, constraints, etc). some of this may drift into non-standard sql.

(there may be more, but that's as far as i go!)
posted by andrew cooke at 7:25 AM on March 16, 2005


I use MS SQL Server mostly and it comes with a good set of online manuals.

However, for the basics of SQL I found that SQL Zoo had a lot of good tutorials and was a good quick reference when I just wanted to see some examples.
posted by gus at 7:29 AM on March 16, 2005


I second Sams Teach Yourself SQL in 10 Minutes (by Forta), available in paper or for immediate gratification, pdf. I didn't know any SQL and was able to muddle my way through after only 3 chapters, which are very short.
posted by [this is good] at 10:18 PM on March 16, 2005


For quick online language refreshers, I really like the W3schools pages. I always find myself here looking for the exact syntax of something as I jump between javascript, vbscript, asp, sql, etc.
posted by aaronh at 9:07 PM on March 17, 2005


« Older Printing encrypted PDFs   |   PCs: Is Random Really Random? Newer »
This thread is closed to new comments.