sql中的minus運算符用于從一個表中減去另一個表中的行,返回兩組行之間的差集:語法:select from table1 minus select from table2差異與except:minus運算符會消除重復行,而except不會。
SQL 中 MINUS 運算符的用法
MINUS 運算符的含義:
MINUS 運算符在 SQL 中用于從一個表中減去另一個表中的行。它返回兩組行之間的差集,即存在于第一組行中但不屬于第二組行中的行。
語法:
SELECT * FROM table1 MINUS SELECT * FROM table2;
其中:
table1
是要減去的表。
table2
是要從 table1
中減去的表。
示例:
假設我們有兩個表:
<code>**employees** | emp_id | emp_name | |---|---| | 1 | John Doe | | 2 | Jane Doe | | 3 | Mark Smith | **departments** | dept_id | dept_name | |---|---| | 10 | Sales | | 20 | Marketing |</code>
登錄后復制
如果我們想找到不屬于任何部門的員工,我們可以使用以下查詢:
<code>SELECT * FROM employees MINUS SELECT * FROM departments;</code>
登錄后復制
查詢結果將如下所示:
<code>| emp_id | emp_name | |---|---| | 3 | Mark Smith |</code>
登錄后復制
MINUS 與 EXCEPT 的區別:
MINUS 和 EXCEPT 運算符在 SQL 中都用于從一組行中減去另一組行。然而,它們之間存在一個關鍵區別:
MINUS 會消除重復行,而 EXCEPT 不會。
因此,在上面示例中,如果員工表中有兩行包含 Mark Smith 的信息,MINUS 查詢將只返回一行,而 EXCEPT 查詢將返回兩行。