Select Random Rows in MySQL

SELECT 
      column_name1, column_name2, column_nameN
FROM 
     table_name
ORDER BY RAND()
LIMIT 20;

Another way that is more efficient way of selecting random rows in MySQL

SELECT 
      column_name1, column_name2, column_nameN 
FROM 
     table_name AS t1 
     JOIN (SELECT id FROM table_name ORDER BY RAND() LIMIT 20) as t2 ON t1.id=t2.id;
Please Share