# 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](https://www.techonthenet.com/mysql/tables/create_table_as.php)
