If I have to choose the feature I like and enjoy the most, it has to be the power of Oracle’s SQL implementation.
I love how you can perform very complex tasks in a very efficient way. You can even implement complex “algorithms” in pure-SQL solutions.
I admire how you can do things in “phases” by using the subquery factoring clause, and how you can even do recursion to solve more complex problems.
And what about analytic functions! They are, in my opinion, one of the most disruptive features added to SQL, and I’m sure not everyone realizes how powerful they are.
And if all of that is not enough, then there’s the model clause, which allows you to do very complex analysis and solve problems that require inter-row operations that can even require iterative processing.
Want more? Now in 12c we have the match_recognize clause, wich simplifies the solution of a number of problems that would require complex and sometimes not very efficient approaches.
Did you know that you can now declare PL/SQL functions and procedures as part of an SQL statement? Of course, you did.
I could continue, but I don’t want to bore you…
And what is the best place to see all these things in action and find challenges to hone your SQL skills? In my opinion: OTN’s SQL and PL/SQL community.
I really enjoy my time there. There is always something new to learn and some very creative ideas of how to utilize the language features.
If you have never been there, now is a good time to go: PL/SQL and SQL in Database Application Development.
See you there!