
集合運算子

UNION 運算子
語法:
<SELECT敘述句> UNION <SELECT敘述句>
說明:
UNION 運算子是用來求取聯集的運算子。我們可以使用這個運算子來對多個SELECT敘述句所查詢的結果作聯集處理。
如果只有指定UNION運算子的話,會傳回除去重複部分的聯集。但是若指定是ALL運算子的話,就會傳回沒有除掉重複部分的聯集。在實用上,多個SELECT敘述句由UNION運算子來連結,所以UNION運算子屬於集合運算子。
範例:
SELECT ID FROM homework UNION SELECT ID FROM student;

若加上 UNION ALL 運算子指令,會將進行運算的所有資料顯示出來。

EXCEPT 運算子
語法:
<SELECT 敘述句> EXCEPT <SELECT 敘述句>
說明:
EXCEPT 運算子是用來求取差集合的運算子。EXCEPT會由左邊指定的查詢果中,除去右邊指定的查詢結果中後傳回差集合。撰寫時,要在EXCEPT運算子左邊撰寫被減去的集合,在右邊撰寫減去的集合。
範例:
SELECT ID FROM homework EXCEPT SELECT ID FROM student;

單項運算子

+ 單項運算子
語法:
+ <數值式>
範例:
SELECT price, +price FROM store;
說明:
+ 單項運算子並非加法運算子,他可以用來明確表示數值為正數運算子。但是 + 單項運算子並不會進行任何處理,所以在資料處理上沒有任何意義。

– 單項運算子
語法:
- <數值式>
範例:
SELECT cost, -cost FROM store;
說明:
- 單項運算式用來將數值符號進行反轉的運算子。- 單項運算子可以將正數變為負數,將負數變為正數。

IS (NOT) NULL運算子
語法:
式 IS (NOT) NULL
範例:
SELECT * FROM store WHERE ID IS NULL;
說明:
IS NULL 運算子是用來確認式中的值是否為NULL運算子。NULL在資料庫上是用來表示沒有的值。
比較運算子中的等於以及不等於運算子,並沒有辦法對NULL進行比較,所以沒辦法判斷值是否為NULL。要確認是否為NULL的話,只能使用IS NULL 運算子。
本例為空值。
相反地,設定為非空的話,就會顯示所有值。
SELECT * FORM store where ID IS NOT NULL;

CASE 運算子
語法:
CASE 式 WHEN 條件 THEN 輸出 ....END
範例:
SELECT ID,CASE WHEN 1 THEN 'first' WHEN 2 THEN 'second' WHEN 3
THEN 'third' ELSE 'other' END FROM store;
說明:
CASE 運算子主要是用來轉換值的運算子。在CASE後面指定的式中如有WHEN中指定條件的情形下,會轉換為THEN中所指定的輸出的值。這樣的組合可以重複指定。而最後透過ELSE指令,ELSE指令則是若不是WHEN中指定條件時,則會轉換為ELSE中指定的值。最後要撰寫END用以表示結束。
