SQL SELECT INTO

❮ 前章へ 次章へ ❯

SQL により、テーブル情報を他のテーブルへコピーすることができます。

SELECT INTO 文は、テーブルのデータをコピーし、新規テーブルに挿入します。


SQL SELECT INTO 文

SELECT INTO 文は、テーブルのデータを選択し、新規テーブルに挿入します。

SQL SELECT INTO 構文

全ての列を新規テーブルへコピーします:

SELECT *
INTO newtable [IN externaldb]
FROM table1;

または、コピーしたい列だけを新規テーブルにコピーすることもできます:

SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;

新しいテーブルは、SELECT 文で定義されている列名とタイプで作成されます。 AS 句を使用し、新しい名前を適用することができます。


SQL SELECT INTO の例

Customers のバックアップコピーの作成します:

SELECT *
INTO CustomersBackup2013
FROM Customers;

IN 句を使用して、他のデータベースへテーブルをコピーします:

Use the IN clause to copy the table into another database:

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

新規テーブルに列の一部だけをコピーします:

SELECT CustomerName, ContactName
INTO CustomersBackup2013
FROM Customers;

新規テーブルにドイツの顧客だけをコピーします:

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

1 つ以上のテーブルのデータを新規テーブルにコピーします:

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

チップ: SELECT INTO 文は、新規に他のスキーマを使用しいる空のテーブルを作成するために 使用することもできます。 データを返さないクエリにするには、WHERE 句を追加します:

SELECT *
INTO newtable
FROM table1
WHERE 1=0;

❮ 前章へ 次章へ ❯