別のテーブルにクエリの結果を挿入する
INSERT INTO文を使用して、他のテーブルのすべての行または一部の行をテーブルに挿入することもできます。 SQL SELECT文を使用して、1つ以上の基準に基づいて別のテーブルの行がフェッチされます。
例:
サンプル表:エージェント
サンプルテーブル:agentbangalore
以下の条件で、 'agents'テーブルのレコードを 'agentbangalore'テーブルに追加します -
1. 'agents'テーブルの 'working_area'は 'Bangalore'でなければなりません。
次のSQL文を使用できます。
SQLコード:
INSERT INTO agentbangalore SELECT * FROM agents WHERE working_area="Bangalore";
Copy
次の順序で別のテーブルにクエリの結果を挿入する
ある表の行の並び順(昇順または降順)は、ORDER BY句とともにSQL SELECT文を使用して、別の表に挿入することもできます。
例:
サンプルテーブル:agentbangalore
ンプル表:エージェント
以下の条件で、 'agents'テーブルのレコードを 'agentbangalore'テーブルに追加します -
1. 「agent」テーブルの行は、「agent_name」列の降順に並べます。
2. 'agents'テーブルの 'working_area'は 'Bangalore'でなければなりません。
次のSQL文を使用できます。
SQLコード:
INSERT INTO agentbangalore SELECT * FROM agents WHERE working_area="Bangalore" ORDER BY agent_name DESC;
Copy
group byを使って別のテーブルにクエリの結果を挿入する
あるテーブルの行のグループは、GROUP BY句と一緒にSQL SELECTステートメントを使用して、別のテーブルに挿入することもできます。
例:
サンプル表:注文
以下の条件で、 'orders'テーブルの同じ列から 'ord_date'、 'ord_amount'および 'advance_amount'列のレコードを 'daysorder'テーブルに追加するには -
1. 'orders'テーブルの行を 'ord_date'に従ってグループにまとめます。
2.各グループについて「ord_amount」の合計を求めます。
3.各グループの「advance_amount」の合計を作ります。
4. ordersテーブルの各グループのデータをdaysorderテーブルに挿入します。
次のSQL文を使用できます。
SQLコード:
INSERT INTO daysorder (ord_date,ord_amount,advance_amount) SELECT ord_date,SUM(ord_amount),SUM(advance_amount) FROM orders GROUP BY ord_date;
Copy
select with group byおよびorder byを使用してレコードを挿入する
以下では、INSERT INTOステートメントでORDER BYおよびGROUP BYとともにSQL SELECTステートメントを使用して、別のテーブルのレコードを挿入する方法について説明します。
例:
サンプル表:注文
サンプルテーブル:daysorder
以下の条件で、 'orders'テーブルの同じ列から 'ord_date'、 'ord_amount'および 'advance_amount'列のレコードを 'daysorder'テーブルに挿入するには -
1. 'orders'テーブルの行は、 'ord_date'に従ってグループにまとめられるべきです。
2. 「orders」テーブルの行は、「ord_date」列の降順に並べます。
3.各グループについて「ord_amount」の合計を求めます。
4.各グループの「advance_amount」の合計を作ります。
'orders'テーブルの各グループのデータを 'daysorder'テーブルに挿入します。
次のSQL文を使用できます。
SQLコード:
INSERT INTO daysorder (ord_date,ord_amount,advance_amount) SELECT ord_date,SUM(ord_amount),SUM(advance_amount) FROM orders GROUP BY ord_date ORDER BY ord_date DESC
Copy
これは、SQLの習得やインタビューに役立つ、簡潔で簡単な回答をまとめた質問の集まりです。