2007/03/19

別テーブルのデータをinsertするには

SQL文で「insert into hoge (aaa, bbb, ccc) values (xxx, yyy, zzz);」というインサート文がありますが、別テーブルのデータを対象テーブルに書込みたいときってどうやるんだろう?と思ったら知り合いが教えてくれました。
★SQL文
 insert into hoge (aaa, bbb, ccc) select xxx, yyy, zzz from hogehoge (nolock) where xxx = abc;
 insert into hoge (aaa, bbb, ccc) select a.xxx, b.yyy, a.zzz from hogehoge a (nolock), gehogeho b (nolock) where xxx = abc;
 ※各カラムにselectで検索したデータをつっこむんですな。
 ※複数のテーブルを検索したい場合は、from移行に複数テーブルを記述してOK(通常のselect文と同じ)
★算術演算子
 カラム+a:足し算
 カラム-a:引き算
 カラム*a:かけ算
 カラム/a:割り算
 カラム%a:余り
★関数
 併せて、こんなコマンドあるんやね。
 ceiling(xxx):切上げ(M$ SQLServer用)
 floor(xxx):切捨て
 substring(xxx, y, z):文字切り抜き(xxx:カラム,y:開始位置,z:文字数)
 len(xxx):文字数(M$ SQLServer用)

 
 
スポンサーリンク

スポンサーリンク