ある SQL テーブルのデータを同じ SQL サーバー内の別の SQL テーブルにコピーする場合は、SQL で SELECT INTO ステートメントを使用することで可能です。
構造化照会言語の SELECT INTO ステートメントは、既存のテーブルの内容を新しいテーブルにコピーします。 SQL は、既存のテーブルの構造を使用して新しいテーブルを作成します。
SQL の SELECT INTO ステートメントの構文
SELECT * INTO New_table_name FROM old_table_name;
SQL の SELECT INTO ステートメントの例
この記事では、SQL で 1 つのテーブルの内容を別のテーブルにコピーする方法を説明する次の 3 つの異なる SQL 例を取り上げました。
例 1: この例では、というテーブルがあります。 車 3 つの列:
シュエタ・ティワリ俳優
車名 | 車の色 | 車の費用 |
---|---|---|
ヒュンダイ クレタ | 白 | 10,85,000 |
Hyundai Venue | 白 | 9,50,000 |
Hyundai i20 | 赤 | 9,00,000 |
キア・ソネット | 白 | 10,00,000 |
キア・セルトス | 黒 | 8,00,000 |
素早い欲望 | 赤 | 7,95,000 |
テーブル: 車
- 上記の Car テーブルの内容を新しいテーブルにコピーするとします。 車の詳細。 このためには、SQL で次のクエリを入力する必要があります。
SELECT * INTO Car_Details FROM Cars;
- チェックしてみましょう 車の詳細 テーブルがデータベースに正常に作成されたかどうか:
SELECT * FROM Car_Details;
車名 | 車の色 | 車の費用 |
---|---|---|
ヒュンダイ クレタ | 白 | 10,85,000 |
Hyundai Venue | 白 | 9,50,000 |
Hyundai i20 | 赤 | 9,00,000 |
キア・ソネット | 白 | 10,00,000 |
キア・セルトス | 黒 | 8,00,000 |
素早い欲望 | 赤 | 7,95,000 |
テーブル: 車の詳細
例 2: この例では、というテーブルがあります。 従業員 4 つの列:
Emp_Id | 従業員名 | 従業員の給与 | エンプ_シティ |
---|---|---|---|
201 | アバイ | 25000 | 行きます |
202 | アンキット | 45000 | デリー |
203 | ビーム | 30000 | 行きます |
204 | ラム | 29000 | 行きます |
205 | サミット | 40000 | デリー |
- 上記の Employee テーブルのレコードを新しいテーブルにコピーするとします。 コーディング_従業員。 このためには、SQL で次のクエリを入力する必要があります。
SELECT * INTO Coding_Employees FROM Employee;
- チェックしてみましょう コーディング_従業員 テーブルがデータベースに正常に作成されたかどうか:
SELECT * FROM Coding_Employees;
Emp_Id | 従業員名 | 従業員の給与 | エンプ_シティ |
---|---|---|---|
201 | アバイ | 25000 | 行きます |
202 | アンキット | 45000 | デリー |
203 | ビーム | 30000 | 行きます |
204 | ラム | 29000 | 行きます |
205 | サミット | 40000 | デリー |
テーブル: コーディング_従業員
例 3: この例では、次のようなテーブルがあります。 学生 4 つの列:
ロール番号 | 名前 | マーク | 年 |
---|---|---|---|
1001 | バヌ | 88 | 17 |
1002 | ラマン | 82 | 16 |
1003 | サミット | 80 | 16 |
1004 | ショビット | 95 | 15 |
1005 | アカシュ | 85 | 16 |
テーブル: 学生
- 上記の Student テーブルのレコードを新しいテーブルにコピーするとします。 クラス_12_生徒。 このためには、SQL で次のクエリを入力する必要があります。
SELECT * INTO Class_12_Students FROM Student;
- テーブルを確認してみましょう クラス_12_生徒 テーブルがデータベースに正常に作成されたかどうか:
SELECT * FROM Class_12_Students;
ロール番号 | 名前 | マーク | 年 |
---|---|---|---|
1001 | バヌ | 88 | 17 |
1002 | ラマン | 82 | 16 |
1003 | サミット | 80 | 16 |
1004 | ショビット | 95 | 15 |
1005 | アカシュ | 85 | 16 |
テーブル: クラス_12_生徒
例 4: この例では、というテーブルがあります。 車 3 つの列:
車名 | 車の色 | 車の費用 |
---|---|---|
ヒュンダイ クレタ | 白 | 10,85,000 |
Hyundai Venue | 白 | 9,50,000 |
Hyundai i20 | 赤 | 9,00,000 |
キア・ソネット | 白 | 10,00,000 |
キア・セルトス | 黒 | 8,00,000 |
素早い欲望 | 赤 | 7,95,000 |
テーブル: 車
- コピーしたいとします 車_色 そして 車名 上記の Cars テーブルの列を新しいテーブルに追加 車_色 。このためには、SQL で次のクエリを入力する必要があります。
SELECT Car_Name, Car_Color INTO Car_Color FROM Cars;
- チェックしてみましょう 車_色 テーブルがデータベースに正常に作成されたかどうか:
SELECT * FROM Car_Color;
車名 | 車の色 |
---|---|
ヒュンダイ クレタ | 白 |
Hyundai Venue | 白 |
Hyundai i20 | 赤 |
キア・ソネット | 白 |
キア・セルトス | 黒 |
素早い欲望 | 赤 |
テーブル: 車_色
SQL の WHERE 句を使用した SELECT INTO ステートメントの構文
SELECT * INTO New_table_name FROM old_table_name WHERE [ condition ] ;
SQL の WHERE 句を使用した SELECT INTO ステートメントの例
ここでは、次の 3 つの異なる SQL 例を取り上げました。これらは、SQL で特定の条件を使用して、あるテーブルの内容を別のテーブルにコピーする方法に役立ちます。
例 1: この例では、というテーブルがあります。 車 3 つの列:
車名 | 車の色 | 車の費用 |
---|---|---|
ヒュンダイ クレタ | 黒 | 10,85,000 |
Hyundai Venue | 黒 | 9,50,000 |
Hyundai i20 | 赤 | 9,00,000 |
キア・ソネット | 白 | 10,00,000 |
キア・セルトス | 黒 | 8,00,000 |
素早い欲望 | 赤 | 7,95,000 |
テーブル: 車
- 色が黒い車の記録だけをコピーしたいとします。このためには、SQL で次のクエリを入力する必要があります。
SELECT * INTO Black_Car_Details FROM Cars WHERE Car_Color = 'Black';
- チェックしてみましょう 黒_車_詳細 テーブルがデータベースに正常に作成されたかどうか:
SELECT * FROM Black_Car_Details;
車名 | 車の色 | 車の費用 |
---|---|---|
ヒュンダイ クレタ | 黒 | 10,85,000 |
Hyundai Venue | 黒 | 9,50,000 |
キア・セルトス | 黒 | 8,00,000 |
テーブル: 黒_車_詳細
例 2: この例では、というテーブルがあります。 従業員 4 つの列:
Emp_Id | 従業員名 | 従業員の給与 | エンプ_シティ |
---|---|---|---|
201 | アバイ | 45000 | 行きます |
202 | アンキット | 45000 | デリー |
203 | ビーム | 38000 | 行きます |
204 | ラム | 49000 | 行きます |
205 | サミット | 40000 | デリー |
テーブル: 従業員
- 給与が 40,000 を超える従業員のレコードのみをコピーするとします。このためには、SQL で次のクエリを入力する必要があります。
SELECT * INTO Emp_Salary_40000 FROM Cars WHERE Emp_Salary > 40000;
- チェックしてみましょう 従業員_給与_40000 テーブルがデータベースに正常に作成されたかどうか:
SELECT * FROM Emp_Salary_40000;
Emp_Id | 従業員名 | 従業員の給与 | エンプ_シティ |
---|---|---|---|
201 | アバイ | 45000 | 行きます |
202 | アンキット | 45000 | デリー |
204 | ラム | 49000 | 行きます |
テーブル: 従業員_給与_40000