Difference between commands

i need to know the difference between two commands

ps -ef|grep oracle
ps -ef|grep -v grep |grep oracle

The second one excludes grep itself from the result, and can also be achieved like:

ps -ef | grep [o]racle

You could easily have found an answer to this by searching the net, or the forum. Please search first.