Składnia instrukcji SQL Create Table As to:
CREATE TABLE table_name [ ( column_name [, ...] ) ] AS select [ * ! ( column_name [, ...] ) ] FROM source_table_name
Zastąp table_name nazwą nowej tabeli, która zostanie utworzona. Nazwa kolumny jest opcjonalna, gdzie można określić wiele kolumn, umieszczając ich nazwy na liście rozdzielanej przecinkami. W przeciwnym razie struktura nowej tabeli będzie oparta na nazwach kolumn, typach i liczbie kolumn zwróconych przez instrukcję Select wraz z danymi wierszy. Jeśli określisz nazwę kolumny, pamiętaj, że powinna być taka sama liczba kolumn, jaka jest zwracana przez select.
Instrukcja select na końcu polecenia create table as musi być poprawna, a liczba wybranych celów jest zgodna z liczbą kolumn na opcjonalnej liście kolumn poprzedzającej klauzulę AS. Może to być złożona instrukcja SELECT, która pobiera dane z wielu tabel. Jeśli opcjonalna lista kolumn jest określona w nawiasach, gwiazdka (*) nie może być dłużej używana w instrukcji select.
Na przykład
CREATE TABLE demo_backup AS SELECT * FROM demo;
Powyższe polecenie SQL utworzy dokładną tabelę kopii zapasowej replik o nazwie demo_backup z danymi i strukturą (kolumnami) tabeli demonstracyjnej.
Możliwy błąd, jeśli określisz opcjonalną listę kolumn:
BŁĄD:CREATE TABLE/AS SELECT ma niezgodną liczbę kolumn
Jeśli napotkasz ten komunikat o błędzie, jest to spowodowane tym, że opcjonalna lista kolumn w nawiasach zawiera inną liczbę wierszy niż zwraca instrukcja select. Sprawdź dwukrotnie, czy określona liczba kolumn jest taka sama, jak oczekiwanych wyników z wybranego zestawu wyników.
Uwaga:Niektóre systemy baz danych obsługują składnię CREATE TABLE … LIKE, która tworzy pustą tabelę na podstawie definicji innej tabeli, w tym atrybutów kolumn i indeksów zdefiniowanych w oryginalnej tabeli. Różnica polega na tym, że składnia CREATE TABLE … SELECT również kopiuje dane.