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-2018、Jan-07-2018、Jan-08-2018 は SELECT txn_date FROM store_information によって得られた結果である。そのうち Jan-07-2018 は SELECT txn_date FROM internet_sales の結果に存在するため、最終結果には表示されない。
MINUS 文では、文の結果を基準に異なる値が 1 回だけ表示される点に注意する。