SQL SELECT INTO

SQL SELECT INTO 文

SELECT INTO 文は、1つのテーブルからデータをコピーして新しいテーブルに挿入します。

SELECT INTO 構文

すべての列を新しいテーブルにコピーします:

SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

一部の列のみを新しいテーブルにコピーします:

SELECT column1, column2, column3, ...
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

新しいテーブルは、既存のテーブルで定義されている列名と型で作成されます。AS 句を使用して新しい列名を作成することができます。

SQL SELECT INTO の例

次の SQL 文は、Customers のバックアップコピーを作成します:

SELECT * INTO CustomersBackup2017
FROM Customers;

次の SQL 文は、IN 句を使用して別のデータベースの新しいテーブルにテーブルをコピーします:

SELECT * INTO CustomersBackup2017 IN 'Backup.mdb'
FROM Customers;

次の SQL 文は、一部の列のみを新しいテーブルにコピーします:

SELECT CustomerName, ContactName INTO CustomersBackup2017
FROM Customers;

次の SQL 文は、ドイツの顧客のみを新しいテーブルにコピーします:

SELECT * INTO CustomersGermany
FROM Customers
WHERE Country = 'Germany';

次の SQL 文は、複数のテーブルからデータを新しいテーブルにコピーします:

SELECT Customers.CustomerName, Orders.OrderID
INTO CustomersOrderBackup2017
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Tip: SELECT INTO は、別のテーブルのスキーマを使用して新しい空のテーブルを作成するためにも使用できます。クエリがデータを返さないようにする WHERE 句を追加してください:

SELECT * INTO newtable
FROM oldtable
WHERE 1 = 0;