>

SELECT...INTO Statement

Description

Creates a make-table query.

Syntax

SELECT field1[, field2[, ...]] INTO newtable [IN externaldatabase]
FROM source

The SELECT...INTO statement has these parts.

Part Description
 
field1, field2 The name of the fields to be copied into the new table.
newtable The name of the table to be created. It must conform to standard naming conventions. If newtable is the same as the name of an existing table, a trappable error will result.
externaldatabase The path to an external database. For a description of the path, see the IN clause.
source The name of the existing table from which records are selected. This can be single or multiple tables or a query.

Remarks

You can use make-table queries to archive records, make backup copies of your tables, or make copies to export to another database or to use as a basis for reports that display data for a particular time period. For example, you could produce a Monthly Sales by Region report by running the same make-table query each month.

Notes

See Also

ALL, DISTINCT, DISTINCTROW, TOP Predicates; FROM Clause; IN Clause; SELECT Statement; UNION Operation; WHERE Clause.

Example

Some of the following examples assume the existence of a hypothetical Salary field in a Payroll table.

This example selects all records in the Employees table and copies them into a new table named Emp Backup.


SELECT Employees.* INTO [Emp Backup] FROM Employees;
This example creates a new table called Trainees that contains only employee records that have the title Trainee.


SELECT Employees.FirstName, LastName INTO Trainees FROM Employees 
WHERE Title = 'Trainee';
This example makes a copy of the Employees table and places the new table in the hypothetical database BACKUP.MDB.


SELECT Employees.* INTO Employees IN "BACKUP.MDB" FROM Employees;
This example creates a new table that contains employee and payroll data for all trainees. The Employees and Payroll tables have a one-to-one relationship. The new table contains all of the data from the Employees table plus the Salary field from the Payroll table.


SELECT Employees.*, Salary INTO Trainees FROM Employees 
INNER JOIN Payroll ON Employees.EmployeeID = Payroll.EmployeeID 
WHERE Title = 'Trainee';