General Suggestions For Learning SQL

Both my friend and I are interested in learning SQL and know absolutely nothing about it or databasing.  She has a degree in electrical engineering and I have done a lot of C++ programming.

I was hoping someone could answer some general questions that would point the way to start learning SQL.

Would I be correct in thinking that SQL is general language that can be used for deposting/retrieving information from a variety of differnt database software packages and that oracle, sequel server, access etc are examples of database sotware packages?

Is there a standard SQL?  What is the latest version of this standard?  Does Microsoft SQL Server 7 use standard SQL or do they pollute it like Java.  If my friend and I learned SQL on MS SQL Server 7 would we be able to take the sql there and use it in other databases with a minimum of trouble?

Can you reccomend a good SQL book for my friend and I given our background?  What about software to practice sql programming with?  My friend and I have VB 6.  Can we use that to practice what we learn from an sql book?  If so, how?  If not, can you recccomend software for practicing sql with that could be put on a pc?  

Who is Participating?
SQL ( Structured Query Language ) is, as you surmise, a standard language for constructing and accessing a relational database management system ( RDBMS ).  There *is*  a standard, developed by IBM - ANSI but the language features vary among database systems.  

Actually, Java isn't the SQL if you use what is called "passthrough". In this case, the SQL is relative to the database.  If you use Oracle, you can use the SQL that Oracle understands as opposed to say SQL Server or local SQL that the BDE of Borland's ( Inprise ) JBuilder understands.  Mind you that SQL is still basically the same, just minor differences.  ( Just enough to cause headaches from time to time ) <g>

If you learn the standard ANSI SQL ( 1992? ), you won't have any problem adapting to other platforms.

Here are some recommdations that I am sure will have you up to speed in no time:

( just copy and paste the link into the address field in your browser )

**** This one is excellent ****
The Practical Sql Handbook : Using Structured Query Language

A Guide to the Sql Standard : A User's Guide to the Standard Database Language Sql

**** Another good one ****
The Essence of SQL : A Guide to Learning Most of SQL in the LeastAmount of Time

With VB, you have an all-purpose language, not necessarily a database language.  It will help you get your feet wet though.  Visual FoxPro has SQL statements native to the language, so you have more of an advantage there, but all in all, VB is easier to learn.

Hope this helps.


Steve34Author Commented:
Do any of the books above come with software where you can actually practice using SQL?   If not is there some cheap software you can install on a pc to practice sql?

Neither of us know VB, would it be too much to learn sql by using the VB editor & compiler?  Could we get away with typing sql code into the VB editor and then hit the compile button?
You aren't going to get a database with the books.  Although, don't quote me on that, because, it has been a while for me since I bought a SQL book.  You may get a sample DB on which to practice.  

As far as VB is concerned; all important is the version that you are using.  You can write queries through code but you really will need some type of back-end to write real SQL. You will need an understanding of the VB language as well.  You can use a VB-Access type of configuration, and VB comes with samples to illustrate the methods.  Visual FoxPro, Visual dBase and maybe Access ( don't know for sure ) will give you more robust SQL extensions.  I use Visual FoxPro ( a lot ) and if you could get a copy of that, you can use the command window to practice your SQL.  It also has a query wizard where you can construct queries and then view and modify the generated code.  It is a database language though whereas VB is all-purpose.

Either route you choose, you can still learn SQL because you have to use it to access data.  Although VFP and VdB have their own database manipulation language ( DML ), VB, Delphi, and Java do not, it is better to use SQL.

Feel free to inquire more.

Steve34Author Commented:
Okay.  I guess it is better to leave VB alone at this point and go find some sql software somewhere to practice sql programming along with a good book.

Another option no one seemed to mention was to try a FREE database product like MySQl, Postgresql etc... If you are running them on a unix system ( e.g. linux.. also free) you can also use a lot of free dev. tools ( C, C++, Perl, Java, Python etc.)... some of these you can  find for NT too but they are written with Unix in mind originally and hence work best on a unix system.  And seeing that much of the web database work finally has to run off of a unix server ( ultimately)... you will be one step ahead of the game from the start. Otherwise you will end up asking questions like " I have this Access database which I have been using with VB.. now how do I put it on the web using Apache and perl"
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.