Boy I wish there was a way to create a table from a select query

I was doing some SQL work today when I had a thought:

Boy I wish there was a way to create a table from a select query

I started in Navicat to see if it was possible. After find nothing I decided to google it all the while thinking in my head how I was going to create a script to do this if I couldn't find anything.

I found something. I was happy yet sad. Happy because I didn't have to take the time to create something. Sad because I didn't have to create the tool. It sounded like a fun project.

What did I find you ask?

The "Create Table as" statement.

CREATE TABLE [ IF NOT EXISTS ] new_table [ AS ] SELECT expressions FROM existing_tables [WHERE conditions];

The best part about it is the statement knows to go to the existing tables to get the column type, size etc. Such a tremendous time saver. I cannot believe in all my years of programming I never stumbled upon this type of statement.

Source: Tech on the Net