
いつもお世話になっています。
insert文の副問い合わせのことでお聞きしたいのですが、
■通常のinsert文
insert into AAA values(aaa,bbb,ccc);
上記のsqlを副問い合わせにした場合(aaaに別テーブルからの検索結果を入れたい場合)どういうSQL文になるでしょうか。
参考書等を参照すると、副問い合わせの場合はvaluesを省略する(使えない?)と記述がありました。
insert into AAA values
( aaa IN (SELECT bbb from BBB where ccc = ddd),bbb,ccc);
とはできないみたいですので…
どうかご教授宜しくお願いします。
No.1ベストアンサー
- 回答日時:
>insert into AAA values
>( aaa IN (SELECT bbb from BBB where ccc = ddd),bbb,ccc);
構文が不明瞭になるので、bbbがTABLE(BBB)に存在するものか、そうでない方を指しているのか区別するため、
基にするSQLを変更して、比較します。
insert into AAA values
( aaa IN (SELECT xxx from BBB where ccc = ddd),bbb,ccc);
という意味のSQLを書きたいのなら、
insert into AAA values ((SELECT xxx from BBB where ccc = ddd),bbb,ccc);
なら書けたような気がします。(但し、クエリでの該当レコードは1件であることが条件)
いつも私は、クエリが複数件でも支障のない、
insert into AAA SELECT xxx,bbb,ccc from BBB where ccc = ddd;
を使います。
クエリが外側の項目や変数を参照できることを利用しています。
No.2
- 回答日時:
No1さんの最後に書いてあるのが一般的な例ですね。
Aテーブルに入っているデータを空のBテーブル(表定義は
Aテーブルと同じ)にコピーしたいのであれば単純に
insert into B select * from A;
となります。
select以降は通常のselect文ですので
A表に入っているデータの内、col1が100以上のものだけ
B表にコピーしたいのであれば
insert into B select * from A where A.col1 >= 100;
となります。
※
空のB表が無く、A表を元に作成するところからはじめる場合は
create table B as select * from A;
となります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
oracleの分割delete
-
SQL GROUPで件数の一番多いレコ...
-
SET句内で複数の条件を指定して...
-
select句副問い合わせ 値の個...
-
unionでマージした副問合せを結合
-
MERGE文を単体テーブルに対して...
-
テーブルの列名をデータとして...
-
OraclのSQL文について(No2)
-
Accessで日付が変わると番号が...
-
ADO VBA 実行時エラー3021
-
Oracleでの文字列連結サイズの上限
-
OracleのSQL*PLUSで、デー...
-
ACCESSの集計クエリで3件ある...
-
ACCESSで大量の更新を行うと「...
-
ADOでエクセルからアクセス...
-
PHP+MySQL
-
Excelで、改行がある場合の条件...
-
キーが同じを複数行を1行にま...
-
Accessで別テーブルの値をフォ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
外部結合とor条件混在の記述方法
-
MERGE文を単体テーブルに対して...
-
SQL GROUPで件数の一番多いレコ...
-
SELECTの結果で同一行を複数回...
-
oracleの分割delete
-
集計後の数値が倍になる
-
固定値を含む結合と複数テーブ...
-
SET句内で複数の条件を指定して...
-
unionでマージした副問合せを結合
-
COUNTの取得方法(?)について...
-
Access 2つのテーブルで数量...
-
他のテーブルを参照した値はupd...
-
SQLの書き方(チェックボックス)
-
SQLで複数の条件がある場合
-
複数テーブルのMAX値の行データ...
-
半角英数字混在データから数字...
-
結合と副問い合わせの違い
おすすめ情報