重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

はじめして、SQLの初心者です。

表題がある通り、
異なる二つのテーブルの差異を求めてレコードを削除する方法とレコードを追加する方法を教えて下さい。

わからないと会社をクビになります。

助けて下さい。

宜しくお願いします。

質問者からの補足コメント

  • ご連絡ありがとうございます。

    SELETE kijunbi,data,kubun FORM テーブルA
    JOIN kijunbi,kubun FORM テーブルB
    WHERE テーブルA.kijunbi <> テーブルB.kijunbi,
    AND テーブルA.kubun <> テーブルB.kubun

    くらいしかわかりました。
    宜しくお願いします。

      補足日時:2016/12/11 11:26
  • SELETE文で、テーブルAのほうがテーブルBより
    レコード数が多い時は、削除して、
    テーブルAのほうがテーブルBよりレコード数が
    少ない時は、レコードの追加をしたいです。

    SELETE文での二つのテーブルの差異のレコードの追加及び削除がわらないんです。

    申し訳ありませんが教えて下さい。
    宜しくお願いします。

      補足日時:2016/12/11 11:38
  • すみません、ORDER テーブルA.kijunbi
    または、ORDER テーブルB.kijunbiの
    どちらかを設定したいです。

    本当に会社をクビになるので、
    教えて下さい。
    宜しくお願いします

      補足日時:2016/12/11 11:44

A 回答 (1件)

SQL初心者というのがどの程度のソフトウェア技術者としての技術レベルを指すのかわかりませんが、まずはSQLは横に置いておいて、、、



・それぞれ複数列のある2つの表で
・一方のある項目と、もう一方のある項目を比較し
・一致しない場合は双方の表から該当行を削除する
 (または双方の表にもう一方の行を追加する)

という処理手順を日本語で箇条書きにされてみるとよいでしょう。
それが出来ない場合はSQLのスキルが無いのではなく、情報処理(データ処理)の手順を考えるスキルが無いということです。
その場合は「与えられた入力(や条件)から求められる結果を得るための処理手順を考える力」を身につけることを考えないと先へ進まないでしょう。

なお、上記の手順を純粋にSQLのみで実現したい場合は使用しているデータベースエンジンの種類に依存する部分もあります。データベーステーブルと言ってもデータベースエンジンによって細かな機能は異なり、それによってSQL文にも相違(自然言語で言えば「方言」ですね)がありますので。
とりあえずGoogleなどで「sql 複数テーブル 比較」といった課題を示す適当なキーワードを指定して検索されると様々な情報、考え方のヒントが見つかるかと思います。

参考まで。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!