SQL の基本 | DML: データ操作言語 | MINUS

MINUS は 2 つの SQL 文に使用されるコマンドである。MINUS はまず 1 つ目の SQL 文の結果を確認する。そして、その検索結果が 2 つ目の SQL 文の結果にあるかどうかを確認する。もし存在する場合、そのデータは削除され、最終結果には表示されない。1 つ目の SQL 文の結果に存在しないデータは除外される。

MINUS 構文

MINUS コマンドは次のとおりである。

[SQL文1]
MINUS
[SQL文2];

MINUS の例

次の 2 つのテーブルがあるとする。

store_information テーブル

store_name sales txn_date
Los Angeles 1500 Jan-05-2018
San Diego 250 Jan-07-2018
Los Angeles 300 Jan-08-2018
Boston 700 Jan-08-2018

internet_sales テーブル

txn_date sales
Jan-07-2018 250
Jan-10-2018 535
Jan-11-2018 320
Jan-12-2018 750

ここで、どの日に店舗の売上があり、インターネット売上がないかを確認するために、次の SQL 文を使用できる。

SELECT txn_date FROM store_information
MINUS
SELECT txn_date FROM Internet_sales;

SQL 構文の実行結果は次のとおりである。

txn_date
Jan-05-2018
Jan-08-2018

Jan-05-2018Jan-07-2018Jan-08-2018SELECT txn_date FROM store_information によって得られた結果である。そのうち Jan-07-2018SELECT txn_date FROM internet_sales の結果に存在するため、最終結果には表示されない。

MINUS 文では、文の結果を基準に異なる値が 1 回だけ表示される点に注意する。