土曜日, 7月 15, 2006

SQL - 問い合わせ結果の流し込み

select into で実行結果を他のテーブルに流し込めるのは知っていたけど、DML で副問い合わせから直接流し込めるとは知らなんだ。今までわざわざテンポラリーテーブルを作っていたような局面で活用できそうだ。

他のテーブルと同じデータでテーブルを作る(=テーブルデータのコピー)

CREATE TABLE 従業員表 AS SELECT * FROM EMP;

副問い合わせの結果をテーブルに流し込む

INSERT INTO 従業員表(EMPNO,ENAME,DEPTNO) SELECT EMPNO,ENAME,DEPTNO FROM EMP WHERE JOB = 'CLERK';