mysql如何用minus運算符?

mysql不支持MINUS運算符,但可以使用MySQL JOIN來模擬它,語法格式“select 字段列表 FROM 表1 LEFT JOIN 表2 ON join_predicate WHERE 表2.id IS NULL;”。

mysql如何用minus運算符?

(推薦教程:mysql視頻教程

SQL MINUS運算符簡介

MINUS在包含SQL標準的三個操作之一union,INTERSECT和MINUS。

MINUS比較兩個查詢的結果,并返回第一個查詢中不是由第二個查詢輸出的不同行。

MINUS?指令是運用在兩個 SQL 語句上。它先找出第一個 SQL 語句所產生的結果,然后看這些結果有沒有在第二個 SQL 語句的結果中。如果有的話,那這一筆資料就被去除,而不會在最后的結果中出現。如果第二個 SQL 語句所產生的結果并沒有存在于第一個 SQL 語句所產生的結果內,那這筆資料就被拋棄。

以下說明了MINUS運算符的語法:

SELECT?column_list_1?FROM?table_1 MINUS? SELECT?columns_list_2?FROM?table_2;

使用MINUS運算符的查詢的基本規則如下:

  • 數量和兩列的順序column_list_1和column_list_2必須相同。

  • 兩個查詢中相應列的數據類型必須兼容。

假設我們有兩個表t1并t2具有以下結構和數據:

CREATE?TABLE?t1?( ????id?INT?PRIMARY?KEY ); ? CREATE?TABLE?t2?( ????id?INT?PRIMARY?KEY ); ? INSERT?INTO?t1?VALUES?(1),(2),(3); INSERT?INTO?t2?VALUES?(2),(3),(4);

以下查詢返回t1表的查詢中的不同值,這些值在表的查詢結果中找不到t2。

SELECT?id?FROM?t1 MINUS SELECT?id?FROM?t2;

mysql如何用minus運算符?

以下是MINUS圖說明:

mysql如何用minus運算符?

MySQL MINUS運算符

不幸的是,MySQL不支持MINUS運算符。但是,您可以使用MySQL JOIN來模擬它。

要模擬MINUS兩個查詢,請使用以下語法:

SELECT? ????column_list? FROM? ????table_1 ????LEFT?JOIN?table_2?ON?join_predicate WHERE? ????table_2.id?IS?NULL;

例如,以下查詢使用LEFT JOIN子句返回與MINUS運算符相同的結果:

SELECT? ????id FROM ????t1 ????????LEFT?JOIN ????t2?USING?(id) WHERE ????t2.id?IS?NULL;

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享