On Sat, 19 Jul 2008, Andy Lester wrote:

http://jobs.perl.org/job/9236 says:

* Experience working with SQL databases such as MySQL. You can do multi-table joins in your head and know the difference between inner and outer joins.

Is that really such a big deal to find? Are multi-table joins, and the difference between inner & outer joins, that difficult for programmers to understand that they must be specified in a job ad?

I'm kind of surprised you even have to ask this. How many apps have you seen where developers fetch a bunch of data from tables and then do things like do joins, sorting, restriction (aka WHERE) in the code? I've seen that sort of thing many times.

I've found that most developers are remarkably ignorant about SQL, much less any of the background (like relational theory). They may sort of understand joins, where clauses, etc, but they don't really understand that this is all set math. Without that background, it can be hard to formulate more complex queries.

The funny thing is that basic set math is, at least in the US, a common part of junior high or high school math. I remember learning it ages ago (8th or 9th grade, maybe), and a little set math is really all you need to understand a lot of SQL features.

I think part of the problem is that if people have any knowledge of programming theory at all, the _only_ thing they know about is OO, and they don't really understand that too well either. I think people who only know OO tend to think of databases as a place to store objects, which is a just wrong for many applications.


-dave

/*==========================
VegGuide.Org
Your guide to all that's veg
==========================*/

Reply via email to