ブックマーク / plus-idea.net (1)

  • SQLで、複数テーブルから他方に無い(存在しない)レコードを抽出する

    たまに必要に駆られるのが、2つのテーブルを比較して、1つのテーブルには存在するが、もう一方のテーブルにはないレコードを抽出するというもの。 いくつか方法がありますが、今回は主な2つをご紹介。特に②の方法が汎用的で、原理を覚えておくと、様々な場面で応用がききます。 ①差集合演算を使う・・・簡単ですが、比較するテーブルの列数、型を合わせる必要あり。 ②SQLのみで抽出・・・汎用的に使えます。一度原理を覚えると応用がききます。 はじめにデータを用意 では、さっそくやってみます。比較するテーブルは、この記事で用意した【売上テーブル】と【顧客テーブル】を使うことにしましょう。 各々のテーブルには以下のようにデータが入っていることにします。 ①差集合演算を使う 各DBには演算のための組み込み関数があり、差分を演算するものもあります。 PostgreSQLOracleDB2・・・minus MySQ

    SQLで、複数テーブルから他方に無い(存在しない)レコードを抽出する
    mkimakima
    mkimakima 2017/10/11
  • 1