meridius10 (2/10/2013)
If I say I know SQL is that different to saying I know T-SQL, for example, T-SQL is obviously the Microsoft adaptation of SQL but if someone says that they know T-SQL does that mean that they know all the programming aspects of this.
First, if someone say that they know T-SQL, you have to consider the source and the level. I know a lot of good people that have taken certification exams and have studied T-SQL on their own and they still don't "know all the programming aspects of this". For example, I've been working with and studying T-SQL since 1996 and, just yesterday, I learned a new very high performance trick for counting concurrent sessions in a log file. Someoe who has only taken a course in T-SQL (including certs) or have actually attained a certification might only be qualified to say they can use the basics. They are not necessarily worth a hill of beans when it comes to "really" knowing T-SQL. I currently know of no MS course that teaches how to use a Numbers or Tally table (for example). I currently know of no MS course that teaches the very high performance method of calculating the difference between two differently partitioned ROW_NUMs to calulate the number of concurrent sessions at a given oit in time.
To wit, taking courses in T-SQL simply qualifies you to move onto the next step. It's like a high school diploma that says you did some time and you know some stuff but not necessarily a lot of stuff.
So far as someone saying they "know" SQL... they can't know "ALL" SQL because every engine has its own dialect and extensions. Something as simple as returning a result set to a GUI can be as simple as a SELECT (T-SQL) or as complex as having to write a reference cursor (Oracle).
SQL is NOT SQL. Most engines don't even follow the ANSI standards 100%.
So far as specialization goes, it depends. I've seen some people who are ok at a couple of things do very well for themselves. I've also seen hard core T-SQL-only folks do very well (like me, for example).
--Jeff Moden
Change is inevitable... Change for the better is not.