Jeff Smith Blog

Random Thoughts & Cartesian Products with Microsoft SQL Server

Top 10 Revisited

My Top 10 Things I Hate About SQL post has been an interesting social experiment, to say the least.  I knew I was taking a risk by not clearly stating that it was intended as humor, but I thought it would be funny to just post it to see what kind of responses came back.   I did categorize it as “humor” and I did indicate that a “guest blogger” composed the post, but those were definitely very subtle clues.  I also tried to incorporate some sarcastic “anti-M$” stuff as well, but as anyone who reads SlashDot knows, those people are usually very serious and quite vocal in the community.

Needless to say, I have not been disappointed by the feedback.  It's funny how people have responded:

  • People who actually know SQL -- they get the joke and seem to enjoy it
  • People who don't know SQL at all -- they agree with my points!  (scary!)
  • People who *think* they know SQL -- they think I am a moron because the sarcasm isn't obvious to them

Of course, there are other factors involved as well: having a sense of humor, being familiar with my other posts, whether or not you are just skimming the post or reading it carefully, etc.  But overall, it seems people fall pretty neatly into one of those 3 categories.

What makes it complicated, I guess, is that every one of those top 10 items is something I've seen people ask for help on in the forums at SQLTeam.  Every database design lampooned in my post actually exists and we've all seen them!  I really didn't make any of them up, and it is indeed plausible that someone might legitimately create that very same top 10 list in all seriousness.  Those who wrote in to tell me I am an idiot usually did so because they disagreed with some of the points, but not all of them! 

Overall, my two favorites are the guy who called me a "retard", and the other who agreed with my list and complained that computers were not sufficiently advanced enough to figure out what we meant to tell it to do for us.  (He also complained that we don't have flying cars yet!)

Thank you all for the great feedback, and happy new year!

Legacy Comments


Sean Harrison
2006-02-15
re: Top 10 Revisited
Very funny!!!!!!! Love the truncation of a system table. :) In case you're wondering, I can answer at least one SQL Server question that noone knows the answer to, as my company has a dba that didn't get the humor of your top ten. Recently, in order to speed up our querying of 400M+ transactions of medical data, he used a script to create tables dynamically (via ODBC from another environment. Weeee); one table for each month, for each year, foe each ICD9 code (And there are 10,000+ of those). At the end of the day, we had some extra tables. So, if anyone ever asks, "How many tables can SQL Server have in a single installation?" - you can tell them "At least 230,000." If they don't believe you, refer them to me.

I didn't have the heart to tell him those codes change every year. :)

Jeff
2006-02-15
re: Top 10 Revisited
Thanks, Sean, that made my day!

the scary thing is, it is not just developers who have no idea how to use a relational database -- it very often is the DBA. And that is a pretty scary thing.

Howard Wild
2006-03-13
re: Top 10 Revisited
Nice one,

I'll hold my hand up. Reading the first point I did think you were an idiot, by points 2 and 3 it was falling into place, by 4 it was clear what you were doing. I tell you, it's almost as funny reading peoples replies.

Dreffed
2006-03-13
re: Top 10 Revisited
:)

damules
2006-03-24
re: Top 10 Revisited
What amused me was some chap who said he read it with his co-worker. I mean 'co-worker' what does this say about you, not mate or friend or buddy but co-worker, just makes me pleased to be english and understand practically nothing.

Hendrik
2006-04-06
re: Top 10 Revisited
There is another category:
- People who don’t really know SQL, but are clever enough to see the sarcasm -- they enjoy it too.

At least, I wouldn’t dare to claim I know more about SQL than the most simple queries.

mlathe
2006-04-06
re: Top 10 Revisited
@Martin
dude you can... just dynamically make you SQL str. And as for making this a feature in future releases, that's silly, what if your columns have commas in them ('Doe, John', 'Bush, George')... you wouldn't want your in clause to look like 'Doe', 'John', 'Bush', 'George'!

Hendy Irawan
2006-09-20
re: Top 10 Revisited
I have to say that I do actually hate SQL Server. Especially since it has too few built-in functions even on the 2005 Edition.

What I especially don't like is lack of "real" datetime functions. Come on, just to get the date of a datetime you have to use CONVERT() then cast its result back to datetime? How weird! Why not just give us simple functions to get date_only() and time_only() that strips out the unwanted parts.

Not to mention that using datetime may cause performance problems when we store datetime but we query only somepart (e.g. only the datepart) since indexes won't be used when a function is used. I haven't got time to play but it seems like SQL Server doesn't support indexes on function of a column (??). At least when I use the GUI, the index definition only lists columns that I can use, I can't type arbitrary expressions.

Oh well, so much for a.......

Raymond
2007-04-01
re: Top 10 Revisited
Cracks me up. At first I thought: "who is this guy? are you kidding me" and later on I was lauging so hard that I woke up the neighbours. My goodness this is hilarious.

Gill Bate$$$
2007-04-02
re: Top 10 Revisited
yOUR ARTICAL WAS LIKE SO RONG!!!!ARE YUO A DUMBASS OR SOMTHING?MYSQL SERVAR IS TYPICAL MICRO$OFT RUBISH COS YOU CANT EVEN DO QUERYS LIKE IN ACESS WERE YOU DRAG N DROP YOUR TABLES AND DRAG YOUR REFERENSES AND SAY WHAT YOU WANT IN YOUR REPORT AND YOU CLICK THE EXCLAMATION MARK AND IT JUST FIGURES IT OUT!IM GOING TO LERN LUNIX AND MYSQL BECAUSE BIL GATE$$$$ HAS WAY TOO MUCH $$$ AND IT WORKS BETER AND ALL THE EXPERTS SAY IT IS LIKE TOTALY KEWL.BIL IS GONNA BE SORRY WHEN NO MORE EXPERTS IS USING HIS O$!!!!!!!!!!!!!!!!

Chris Snyder
2007-07-01
re: Top 10 Revisited
Wow! Can I use this post as an interview tool? I can ask them to read it, and if they agree with any of the points, it's "Thanks for coming in, don't let the door hit you in @ss on the way out." And this is coming from a guy who doesn;t know SQL very well.

pete w
2008-07-09
re: Top 10 Revisited
you think this is funny, until you have to play the code janitor for someone who really believes what you write.

I am a consultant, and I'm working on a project right now where varchar is the type for every single column, and they convert it to a stronger type for display and manipulation.

some people really do some of the things that you joke about