GD vs. SGD

What are the differences between gradient descent and stochastic gradient descent? When would you use one over the other?

Junior