I came from a background in Oracle 6, 7, 8 and a little 9i) and MS-SQL (6.5, 7 and SQL-2000), and played with mySQL and PostgreSQL a little last Spring. I was frankly shocked at all the things mySQL *couldn't* do:
- No subselects - No ANSI- 99 "join" syntax - Limited pre-ANSI 99 joins - No stored procedures - Etc etc
Now admittedly, my Linux came bundled with a relatively old version of mySQL (my version was 3.23, the current GA is 4.0.21; mySQL 5.0 is in alpha) and, admittedly, there were workarounds for each of the limitations I encountered.
But my overall impression was that mySQL is to Linux very much like MS-Access is to Windows: an excellent solution for a large number of tasks ... but *not* the best way to learn "SQL" per se.
In addition to looking at mySQL, I'd strongly urge you to consider Oracle (which is available as a free download for developers), PostgreSQL, Sybase or other alternatives as well.