問題
25EXCEPT演算子で差集合を求めよう
EXCEPTとは「除外する」という意味を持つ英単語です。 最初の検索結果から次の検索結果と重複するものを取り除いて表示させます。
SQLの問題に挑戦しよう!
問題
「EXCEPT演算子で差集合を求めよう」
EXCEPT演算子を使って「家計簿」テーブルにはあって「家計簿_過去分」テーブルにはない費目、収入、支出のデータを表示させて下さい。
期待する画面を参考に命令文を書いていきましょう。
期待する画面
解答と解説(EXCEPT演算子で差集合を求めよう)
解説
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
差分を集めた差集合データを表示させるにはEXCEPTを使用します。
構文はUNION演算子と同様に以下のようになります。
SELECT 列名 FROM テーブル名①
EXCEPT
SELECT 列名 FROM テーブル名②
EXCEPTを使用する場合、テーブル①の情報を基準に
テーブル②に書いた情報を参照し差分を表示します。
今回は「家計簿_過去分」テーブルにない情報だけを抽出するので
テーブル①に「家計簿」テーブル②に「家計簿_過去分」テーブルを書きます。
補足
今回MySQLの場合はEXCEPT演算子を使用することが出来ましたが、
Oracle DBなどでは、EXCEPTの代わりにMINUSというものを使います。
使用するデータベースシステムによって記述が異なる場合があるので注意しましょう。