Is there much call for people with SQL skills?

For anyone who doesn’t know. SQL (Structured Query Language) is a computer language for asking questions of a database (such as “give me all the records where the date is greater than 01/01/2008 and the country is UK. And sort them by county”
My SQL abilities are being refined all the time, and I reckon I am now pretty good (though have a long way to get close to other SQL experts on this board, from whom I receive help often, and value that help greatly) I am often impressed with what you can do with SQL.

What kind of call is there for an SQL expert in ‘the industry’? (Web development, database administration/development, anything that involves a big database really)

And how far into the future do you reckon SQL skills will still be useful to the industry?

Sure there is. Any good DBA knows SQL; most know it really well.

It’s also a side skill for programmers. Interestingly enough, in my experience a lot of pure coders don’t know much beyond the basics of SQL. I’ve leveraged my SQL knowledge on a lot of projects to greatly simplify certain functions. It’s amazing how many programmers will gladly pull down tens of thousands of records and loop through them manually instead of taking the time to learn enough SQL to do it on the DB machine instead.

DBA here.

SQL will never go away. It’s too embedded into too many database systems. Strong skills will take you far, Grasshopper.

Before anything else I consider myself a programmer. It’s what I chose as my career before I’d even heard of SQL. SQL was part of my Software Engineering University course, and during that it was a ‘meh’ thing for me.

But in my current job SQL is central to what I do. Web development using ASP is a close second (there was absolutely no ASP in my Uni learning) and programming with OOP C++ is redundant.

It sounds like a good SQL knowledge might benefit a great number of people who are natural programmers in other non database languages.

SQL has become a standard that’s used on lots of platforms. There’s Oracle, of course, but now also MS SQLServer and others. Although bare-bones SQL is not procedural at all, by carefully constructing a query you can probably create as complex a report as you can in a procedural language.

As for the standard, it was already beginning to be set in stone by the mid 1980s. I took a course then in database systems, and we used the C.J. Date text which is now considered a standard in the field. Fifteen years later it was a useful reference at my job where we used Oracle. At my as yet un-found next job, where I hope to be working on the .NET platform, this twenty-three year old book will still be a useful reference. SQL is, in fact, nothing more than an implementation of the relational database query model, which is why it’s undoubtedly here to stay.

Just curious - as for me, I pick up PHP in conjunction with SQL. Are there cases of DBA only knowing SQL?

I would rather write less code for a more verbose SQL that gets the job done anytime.

Oh yeah, definitely. I didn’t realize you were a programmer.

I started out doing DB/SQL programming waaaaaay back, over 20 years ago now. Then I got into “real coding”, ie C/C++/Java/C# etc, but I have never had even one job where I didn’t use my SQL skills.

I push everything data-ish that I can to SQL; I just don’t see the point in not passing my code the exact data set I need rather than passing a big ol’ result set and then having to iterate through it. Plus, when it comes to any sort of complex query, it’s always simpler, more elegant, and faster to let SQL do it than try to code it in whatever the procedural/OO language I might be using.

There’s a little more to being a database expert than knowing SQL, but it’s a good start. There’s a very good market for database experts.

I would be thrilled to death to find a job that had me writing SQL all day - it’s a lot of fun and by far the best part of my job when I get to do it. Unfortunately, the job listings I see are mostly asking for MySQL, whereas I was trained on mainframes, plus they also want PHP or the like. I really need to look for some courses…

Not to be a wet blanket, but being proficient in SQL is a basic skill for a programmer dealing with databases. Sort of on a par with speaking English* Unless you are a DBA you’ll need at least one procedural language as well. And even a DBA (a decent one) will be writing shell scripts and utilities in something other than SQL. The only people at my place of work who don’t know any SQL are in Sales or security. (Admittedly the support staff’s skills end at select * from).

BTW. A sort of equivalent non-procedural programming skill would be XSLT. Lobsang, it sounds like you enjoy using SQL. I am pretty certain no-one ever has any fun at all with XSLT.

  • I was going to say or Hindi but all the Indian programmers I’ve met have spoken pretty good English.

Concur. SQL is pretty much future-proof, because it’s so damn simple in its basic concepts.

Implementations of it may come, go and change, but it’s pretty difficult to imagine anything that could replace it that would be so straightforward and functional.

If a competent team of analysts with absolutely no knowledge of SQL set out to design a language capable of flexibly handling/querying/sorting/updating/etc. table datasets, there’s a fairly strong chance (IMO) they would just end up inventing SQL all over again.

I concur. The fact that you’re asking about SQL rather than just plain dba makes me wonder just what is it exactly that you know. SQL skills not backed up by any other database experience wouldn’t make you stand out.

I second that statement.

If SQL was a superhero, XSLT would be his equally-powerful yet horribly evil nemesis.

What do you mean by “SQL expert”?

You’re good at constructing queries? That’s a dime-a-dozen, no offense.

Have you ever written actual desktop or web software that serves at some kind of front-end for specific databases you’ve created? That does useful tasks with the queries you construct?

Anyway, I think that one thing we can say about the future is that there will never be a shortage of data, or the need to organize it and query it. I would imagine that marketable skills would include being able to write web applications that can talk to remote database servers.

But, I don’t know what kind of web programming is going to be valued. . .php? I don’t really know much about, but it seems to have tools that help with using data-driven web development.


Sure, everyone can write a simple query. But in my nearly-20 years of experience using DBs and SQL, very few programmers can go beyond a simple select statement.

And for what it’s worth, I’m one o’ those writers of web applications that can talk to remote database servers. Sure, a lot of high level languages (ASP.NET included) have hooks to the DB, but they can’t write SQL queries for you, at least not beyond the very basic SELECT/UPDATE/INSERT/DELETE statements. Want to use a JOIN? Gotta write it yourself. Want a query that concatenates data from 3 different tables, does some grouping and data manipulation, and updates a couple more tables from the results of the first query? You better be good at SQL.

We have a module in class where we had to use Microsoft SQL Server to construct a stock trading database; it has to be intelligent enough to verify input (direct database input) and to update FKs and etc. I guess the advanced part of MySQL are triggers and the cascading part.

I am not sure if there is ever such a business logic, but for my database exam, I had to construct this query - find the supplier who supplies part to project A in City B and does not supplies any project which a certain supplier X supplies to.

On an aside: recently there has been news that relational database is dead. How have this developed thus far?

I do the sorts of things you’re describing almost every day in my job, and I am in a non-technical (nominally, anyway) role at my company. Until recently, when more tech-oriented people in the organization started coming by to observe my work and routinely went bug-eyed when I started writing SQL, I had no idea it was a particularly valuable skill. It was eye-opening for me.

Rumors of the relational model’s death are greatly exaggerated.

I first heard that relational databases were dead in about 1985. I’m still waiting for the obituary.

That’s kinda my experience as well. For whatever reason, people think that SQL is some sort of scripting language that you’d only use if you didn’t know how to do REAL programming. I’ve seen the bug-eye view as well when you show that 4-line query that replaces 500 lines of C code and runs in 1/10th the time.