Cú pháp của câu lệnh Create Table As SQL là:
CREATE TABLE table_name [ ( column_name [, ...] ) ] AS select [ * ! ( column_name [, ...] ) ] FROM source_table_name
Thay thế tên_bảng bằng tên của bảng mới sẽ được tạo. Tên cột là tùy chọn, nơi bạn có thể chỉ định nhiều cột bằng cách đưa tên của chúng vào danh sách được phân tách bằng dấu phẩy. Ngoài ra, cấu trúc của bảng mới sẽ dựa trên tên cột, loại và số lượng cột được trả về bởi câu lệnh Chọn, cùng với dữ liệu hàng. Nếu bạn chỉ định tên cột, hãy lưu ý rằng phải có cùng số cột được chỉ định như được trả về bởi select.
Câu lệnh select ở cuối lệnh create table as phải hợp lệ và có số lượng mục tiêu được chọn khớp với số cột trong danh sách cột tùy chọn trước mệnh đề AS. Nó có thể là một câu lệnh select phức tạp lấy dữ liệu từ nhiều bảng. Nếu danh sách cột tùy chọn được chỉ định trong dấu ngoặc đơn, dấu hoa thị (*) không còn được sử dụng trong câu lệnh select nữa.
Ví dụ:
CREATE TABLE demo_backup AS SELECT * FROM demo;
Câu lệnh SQL trên sẽ tạo một bảng sao lưu chính xác có tên demo_backup với dữ liệu và cấu trúc (cột) của bảng demo.
Lỗi có thể xảy ra nếu bạn chỉ định danh sách cột tùy chọn là:
LỖI:CREATE TABLE / AS SELECT có số lượng cột không khớp
Nếu bạn gặp phải thông báo lỗi này, điều này là do danh sách tùy chọn của các cột trong dấu ngoặc đơn chứa một số lượng hàng khác với câu lệnh select trả về. Kiểm tra kỹ xem số cột được chỉ định có giống với kết quả mong đợi từ tập kết quả đã chọn hay không.
Lưu ý Một số hệ thống cơ sở dữ liệu hỗ trợ cú pháp CREATE TABLE… LIKE tạo một bảng trống dựa trên định nghĩa của một bảng khác, bao gồm bất kỳ thuộc tính cột và chỉ mục nào được xác định trong bảng gốc. Sự khác biệt là cú pháp CREATE TABLE… SELECT cũng sao chép dữ liệu.