
問題25:EXCEPT演算子で差集合を求めよう
EXCEPT演算子を使って「家計簿」テーブルにはあって「家計簿_過去分」テーブルにはない費目、収入、支出のデータを表示させて下さい。
期待する画面を参考に命令文を書いていきましょう。
期待する画面を参考に命令文を書いていきましょう。
期待する画面

解答ソースコード
USE ninjacode;
SELECT 費目, 収入, 支出 FROM 家計簿
EXCEPT
SELECT 費目, 収入, 支出 FROM 家計簿_過去分;
¥SQL¥
補足
今回MySQLの場合はEXCEPT演算子を使用することが出来ましたが、
Oracle DBなどでは、EXCEPTの代わりにMINUSというものを使います。
使用するデータベースシステムによって記述が異なる場合があるので注意しましょう。
Oracle DBなどでは、EXCEPTの代わりにMINUSというものを使います。
使用するデータベースシステムによって記述が異なる場合があるので注意しましょう。
#忍者CODE無料問題集で活動を記録しよう
完了にする!
構文はUNION演算子と同様に以下のようになります。
SELECT 列名 FROM テーブル名①
EXCEPT
SELECT 列名 FROM テーブル名②
EXCEPTを使用する場合、テーブル①の情報を基準に
テーブル②に書いた情報を参照し差分を表示します。
今回は「家計簿_過去分」テーブルにない情報だけを抽出するので
テーブル①に「家計簿」テーブル②に「家計簿_過去分」テーブルを書きます。