いつもお世話になっています。
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select insertで複数テーブルか...
-
SELECTの結果で同一行を複数回...
-
select句副問い合わせ 値の個...
-
unionの結果は集計はできないで...
-
MERGE文を単体テーブルに対して...
-
SQL GROUPで件数の一番多いレコ...
-
unionでマージした副問合せを結合
-
oracleの分割delete
-
COUNTの取得方法(?)について...
-
結合と副問い合わせの違い
-
副問い合わせのinsert文
-
外部結合とor条件混在の記述方法
-
固定値を含む結合と複数テーブ...
-
構成比を求めるSQL文につきまして
-
集計後の数値が倍になる
-
複数テーブルのMAX値の行データ...
-
Oracleでの文字列連結サイズの上限
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
SELECTの結果で同一行を複数回...
-
MERGE文を単体テーブルに対して...
-
他のテーブルを参照した値はupd...
-
SET句内で複数の条件を指定して...
-
固定値を含む結合と複数テーブ...
-
SQL GROUPで件数の一番多いレコ...
-
oracleの分割delete
-
外部結合とor条件混在の記述方法
-
unionの結果は集計はできないで...
-
複数テーブルのMAX値の行データ...
-
unionでマージした副問合せを結合
-
集計後の数値が倍になる
-
構成比を求めるSQL文につきまして
-
COUNTの取得方法(?)について...
-
SQLの書き方(チェックボックス)
-
結合と副問い合わせの違い
-
DELETE 文とEXISTSの使い方につ...
おすすめ情報