I assume for databases 'logical thinking' is important. However, I think there are different forms of logical thinking:
1) logic riddles (I think the hard part here is often more coming up with the right idea to look at it in the first place and the logical thinking afterwards isn't overly difficult)
2) formal logic (or pure logical thinking?) --> The neighbor has a cat, that cat likes mice, the third neighbor eats mice, what can the wife of the neighbor who doesn't like cats, but has three mice, one of those mice is 7 and the product of the ages of the mice is 42, whereas their sum is xyz do so the cat only eats the youngest mouse (blabla you get the idea lol)
Is SQL similar to this 'formal logic' stuff? I looked at a few of the SQL problems in this forum and it seems to me that this is the main thing one needs to have for SQL - would you agree?
P.S.: Yes, I'm a bit crazy and possibly to curious, I know!;)
I don't agree that "formal logic" skill is important for SQL.
I have found in teaching SQL that the greatest difficulty is in changing one's thinking from procedural (one row at a time) to thinking in terms of sets. Once you can start thinking about data as interrelated sets, SQL becomes fairly easy to use.