SQL SELECT INTO文


SQL を使用すると、あるテーブルから別のテーブルに情報をコピーできます。

SELECT INTO 文は、あるテーブルからデータをコピーし、そのデータを別の新しいテーブルに挿入します。


SQL SELECT INTO 文

SELECT INTO 文は、あるテーブルからデータをコピーし、そのデータを別の新しいテーブルに挿入します。

注意:

MySQL データベースは SELECT ... INTO 文をサポートしていませんが、次のものをサポートしていますINSERT INTO ... SELECT 。

もちろん、以下の文を使用してテーブル構造とデータをコピーできます:

CREATE TABLE 新表
AS
SELECT * FROM 旧表 

SQL SELECT INTO 構文

employees という名前のテーブルがあり、以下のデータが含まれているとします。

EmployeeIDFirstNameLastNameAgeDepartment
1JohnDoe30Sales
2JaneSmith25HR
3SamBrown28IT

「...」という名前のemployees_backup新しいテーブルを作成し、employeesテーブル内のすべてのデータを新しいテーブルに挿入するには、次の SQL 文を使用できます。

SELECT *
INTO employees_backup
FROM employees;

この文を実行すると、新しいemployees_backupテーブルには、年齢が 25 歳より大きい従業員のデータのみが含まれます。

SELECT EmployeeID, FirstName, LastName, Age, Department
INTO employees_backup
FROM employees
WHERE Age > 25;

使用上の注意事項

テーブル構造:

  • SELECT INTO新しいテーブルが作成され、新しいテーブルの構造は選択した列とデータ型に基づいて決まります。
  • 新しいテーブルがすでに存在する場合、SELECT INTO文は失敗します。この場合、INSERT INTO ... SELECT文を使用できます。

データベースのサポート:

  • SELECT INTO文は SQL Server で非常に一般的ですが、MySQL と PostgreSQL では通常、CREATE TABLE ... AS SELECT文を使用します。

他のデータベースでの代替手段

MySQL と PostgreSQL

MySQL と PostgreSQL では、次の文を使用できます:CREATE TABLE ... AS SELECT同様の機能を実現するには:

CREATE TABLE employees_backup AS
SELECT EmployeeID, FirstName, LastName, Age, Department
FROM employees
WHERE Age > 25;
その他の拡張