Formulate AI interview question

What is the difference between Gradient Descent, Stochastic Gradient Descent & mini-batch Gradient Descent?