This is an example of a pivot query using analytics.

Code:
SELECT table_name, columns
  FROM ( SELECT table_name, 
                LTRIM(columns, ', ') columns
           FROM ( SELECT table_name,
                         MAX(sys_connect_by_path(
                             column_name, ', ')) columns
                    FROM ( SELECT table_name, column_name,
                                  row_number() OVER
                                ( PARTITION BY table_name
                                      ORDER BY table_name ) row_num
                             FROM user_tab_columns)
                   START WITH row_num = 1
                 CONNECT BY PRIOR row_num   = row_num - 1
                     AND PRIOR table_name = table_name
                   GROUP BY table_name))
 ORDER BY table_name;