This is my 400th blog post here on lessthandot and I decide to
steal borrow Chrissie’s idea and ask a bunch of people if they have an interesting story to share about SQL.
Here is how I asked it
As you may or may not know I’m an avid SQL fan.
I’m in the process of writing my 400th blogpost on lessthandot and I thought I would make it a little special and ask some special people about their experience with SQL. Just a few lines, why you like it or why you don’t like it. Perhaps an anecdote about it. A bad memory, a good memory. Just a few lines or just one line would make me happy. But if you don’t want to I will understand also. By SQL I could be about Access, Oracle SQL Server, DB2, NoSQL whatever comes to mind
I will be asking this question to a bunch of people. If you don’t mind include your twitter handle and blog URL so that I can add those
I got a bunch of replies, here they are in the order that I received them. Feel free to add your own by leaving a comment
I fell in love with programming when doing some Excel VBA, from Excel I went to Access and I wrote some very cool programs in that, just until it became to slow for my needs. And then I switched to SQL-server. I started with SQL-server 2000 and I didn’t even have a clue how to install it. I started learning and finding out I did it all wrong. SQL is not what I do best but I learned a lot, due in a big part because of the wonderful SQL-community and my friends at Lessthandot.
- * *I was messing around with Access for quite a while before I started typing up the SQL for myself. It opened a whole new, quite addictive world for me. Looking for SQL questions on the forums became a morning habit. A good SQL problem has all the fun of a puzzle with the added kick that it may be helpful. I suspect I will have to move up a level to maintain that kick.
- * *SQL Server has been the most predictable, reliable thing in my career, and when it’s been unpredictable or unreliable, the SQL Server community has been the most predictably, reliably helpful thing around. Even when SQL is broke, the SQL community makes it a joy.
- * *To me, databases are the thing that justify the Pure Maths that I
studied at university, and show me that computing isn’t just about
either being a sysadmin or a programmer. I wish I had discovered that
databases could be a career earlier than I did. Whether ANSI SQL,
PL/SQL or T-SQL, those three letters are special to me.
- * *I started using Microsoft SQL Server approximately 10 years ago. As a software vendor, it is the perfect solution because I can distribute SQL Express with my application for free. If the customer already has (or chooses to buy) a paid for version of SQL Server, they can. SQL Server allows me a lot of flexibility while still being able to offer a scalable solution to my customers.
- * *Since SQL is my life this is a rough question. You’d think that would
be the opposite and I could come up with a gazillion things that SQL
(Server) has or did for me. In reality, the one thing it did was
provide me with the means to make a living doing what I love to do, it
provides for my family, brings me close to friends like yourself and
all around as introduced me to some of the most intelligent people on
the face of the earth.
SQL Server isn’t easy nor hard to adapt it to any situation. This
makes it a viable area for anyone to succeed in. As a complete
solution revolving around data in general, SQL Server provides (me)
and others the ability to have a continuing learning experience
through the many features, internals and areas of processing it
brings. What would or could we ask for more? It provides an enriched
career full knowledge and experiences none would turn down.
- * *I discovered SQL as a language back in the Foxpro days, performing maintenance on a DOS application. I was amazed and surprised at the power of the language, coming from flat file databases. It just made sense to me, and it turned my career in the direction of SQL when I realized how simple and powerful SQL could be.
- * *Way back in the 1980’s, I was studying all of the currently available database systems and data-centric programming languages. Email was still at least 7 years away and the Internet was 10 years to come. To be honest, they were not at all intuitive or sensible. But a new database model was emerging, the relational database. Database normalization and design just ‘clicked’ for me. It simply made sense. And on top of the much easier design methods, the language that came along with the relational database, SQL, also made sense – a lot of sense. I’d worked with Fortran, COBOL, and dBase quite a lot by that time. But none of those programming languages could come close to the ease and simplicity of a SELECT statement. Hey, what could be easier than asking for the columns of data you wanted FROM a specific table WHERE it met a specific set of conditions? It was exhilarating and powerful! I’ve been stuck on SQL ever since and, while many other technologies have come and gone, I believe that I’ll be able to finish my career still working with and enjoying SQL.
- * *For me, SQL is the perfect blend of programming and simplicity. The internals of any relational engine are complex, and the cost based optimizer is order of magnitudes more complex than almost any code the normal programmer will be involved with. My personal interest lies in design, because the cost based optimizer is greatly affected by how well our design maps to the relational engine’s needs. The better the base design, the more likely the code you write will just work. It is really funny how easy design turns out to be, with the biggest obstacle often being your own mind. A great database design looks more complex than a poor one often does, usually because a poor design looks like how a procedural programmer would create a solution, rather than adjusting the design to match the needs of the code that will do the lion’s share of the work, the query processor.
- * *I do have a fun story about SQL.
One of my coworkers thinks she’s awesome: she deserves to be paid at the senior analyst level, is always on top of everything, is very competent and all. Well, the reality is actually a bit different (in the minds of me and several other coworkers). I mean, she is intelligent and does a good job, she isn’t a plodder or anything, but we can all tell you stories. Such as the less than efficient ways she runs things or how she acts like everyone else is irresponsible and she is perfect, but in fact SHE didn’t send us the email she’s grilling us about not replying to, or when the attention turns to what she didn’t do then woah suddenly we’re moving on to the next business item. Or she tells us that such-and-such she does can’t be automated and years later the issue gets attention and someone automates it in one day (laugh). Anyway, I had a wonderful little experience with her and SQL a couple of years ago.
So basically, her job is to be an application super-super-user. A glorified babysitter. Keep it running. Help plan and perform upgrades. Set up users and printers and workstations. Change the login message. And so on. But no development or use of highly technical computer skills. Except, she took a class in SQL once, and fancied herself capable in it. So one day she came to get me to ask for help with a SQL statement she was running. She said another coworker had sent it to her but it wasn’t working.
I kindly came to take a look and what she was trying to run in Query Analyzer (SQL 2000 days) was something like the following. I wish I could remember it exactly, but it really doesn’t matter because you’ll get the picture pretty quickly. Remember, this was sent to her by her coworker and she just copied and pasted and ran it as a SQL query:
Set the users to disabled before the services are taken down
Inside I laughed my head off while outside I calmly explained, to her great confusion, that it wasn’t a SQL statement, it was just plain English.
And I’m glad to say that to this day she only runs whole SQL query files supplied as part of a predefined procedure that she has specifically been instructed to run.
Three cheers for “I’ve taken a class in SQL” woman!
- * *In 2000 I’ve been on a project involving Oracle. That was when I decided to stay away from databases. In 2003 I’ve been doing some .Net work (no db’s remember ) and had to pivot some results in SQL Server.
This led me to SqlTeam.com forums where i looked up the solution, used it and it worked. But I stayed on SqlTeam because people were nice.
Those online acquaintances have grown into friendships and I started answering questions. That has grown into a full blown addiction so I started blogging in 2004.
Next logical step was to start speaking about SQL Server and learning about it.
I was always more of a dev guy with only doing DBA work the last year or two.
It’s not really about the product but about the people I meet in the process.
Learning a product is always relatively easy. Meeting people too.
But meeting cool people isn’t.
- * *My favorite SQL Server memory is probably taking a series of DTS packages in SQL 2000 that had several manual steps in the middle. Using a series of script tasks, I was able to fully automate the process and save a few days a month of person-time. I think this was probably the time that I fell in love with programming.
I also remember you, George and Ted showing me the right way to do things very early in my career. I think this has given me a leg up on most developers when it comes time to work with the database.
- * *My first encounter with SQL Server was the same as many newbies have several years ago.
I do still remember the idiotic questions I asked, including the RAISERROR syntax question (which I should have learned from BOL instead) or why I was not seeing the output of PRINT command (the variable was NULL, doh!). These days are still vivid in memory and a conversation by phone with a former friend who stirred me on the right path when I wanted to duplicate Visual FoxPro functionality and create a separate database for each state.
I then started to use SQL Server professionally (as a developer) and the more I used it, the more I started to participate in different online forums and answer T-SQL related questions. At first it was ASP.NET forum (where I started by asking many ASP,NET related questions but then ended up answering many simple questions in SQL related category). There I met George Mastros and was lately introduced to LTD site. I am very glad I am now able to blog on this site.
I also started to learn more and more about SQL Server, read many SQL Server blogs, meet and become virtual friends with many of SQL Server professionals. So, now I’d say one of my life passions is in solving T-SQL problems and helping people with SQL Server related questions, even though there is a lot for me to learn about SQL Server and I continue to learn something new daily.
- * *In college, I had to take an Introduction to SQL class. We wrote basic SQL statements using a database on a mainframe. I was hooked. I finished the class in the first nine weeks, and spent the next nine weeks helping other students and getting more-advanced assignments from the instructor. I was in love, and I still am.
- * *I started as an application developer and my back-end was Access. However, once I learned how to actually write SQL code, I could not go back to the GUI of Access and prefer it even to some of the front-end development that I still have to do sometimes. There is something that is intrinsically more “real” to me with SQL and data than other aspects of development. After all, at the end of the day, the data is still the primary factor behind almost all development and the ability to work well with it is important – at least to me. And I would be remiss if I didn’t point out the great help that my friends at LessThanDot have offered that allowed me to learn what I have.
- * *My first foray into SQL Server I was fresh from MySQL and MS Access and couldn’t see past the first couple layers of tables and queries. Fast forward a few years and I was working with procedures and views and just starting to understand indexing. A few more years and I was working with SSRS and learning a lot more about tuning and topics like SARGability. SSAS, SSIS, the power of system views, backup and restore strategies, monitoring, … The deeper and further I go, the more there is to learn, and it doesn’t seem to be ending any time soon.
Funny anecdote/story: I was once performing destructive maintenance on a server (detaching and removing old databases) as well as rearranging data files for some active databases. I cleaned up all the stale Dbs and finished moving them from the old location to the new one with time to spare in my outage window. About an hour afterwards I received a phone call from the shipping office, who had tried all the normal troubleshooting steps (reboot, reboot again, etc) to figure out why their MS Access app was having problems. Halfway through walking them through checking their ethernet outlet, while literally saying something like “wiggle the cable and then try again”, I realized that there was one obscure database that a single form in their app relied on. I quickly reattached the forgotten DB just in time for them to connect properly. The rest of my time with the company the shipping office always wiggled their ethernet cable before calling me, and I haven’t forgotten to reattach a database since. Sometimes it’s the lessons from when we screw up that stick with us the longest.