Apparently everyone else likes SQL. *shrug*
My dislike comes when I'm using several tables. Take this as an example from an NLP (Natural Language Processing) application I'm working on.
SELECT w.id, w.definition
FROM words w, stock s, languages l, stockmatch m, types t
WHERE s.word = ? AND l.name = ? AND s.languageID = l.id AND
m.stockID = s.id AND w.id = m.wordID AND t.name = ? AND
w.typeID = t.id;
That's horribly complex and I have to look at it a pretty long time before I know what's going on. I find this easier to understand because I can tell what I'm extracting and why I care if stuff matches.
id = stockmatch[
stockID = stock[
word = ?,
languageID = languages[name = ?](id)
typeID = types[name = ?](id)
elusion : http://matt.diephouse.com