During web development often task is to get some stuff in random order. For example, to display random articles, products, testimonials and so on.
First thing you want to do is to write something like this:
SELECT TOP 10 *
FROM Articles
ORDER BY RAND()
And previous query DOES NOT work. It shows records in regular order. Why? Because RAND() calculated once, not in each row.
The following way works fine:
SELECT TOP 10 *
FROM Articles
ORDER BY NEWID()
That's all. Nice and easy. Not recommended for HUGE tables... but this is crazy to try show something randomly from the huge table. Use other ways. For example sub queries.