今天介紹 UNION 和 UNION ALL 語法的作用,NOT EXISTS 與 CASE 語法的使用時機。
UNION: 可以將上下兩句 SQL SELECT 語法的查詢結果合併起來,適合用在不同資料表,但有相同性質資料的時候。使用 SQL SELECT 查詢的欄位數量、類型需要相同,否則會發生錯誤。如下方的範例,分別從 Person 資料表和 Member 資料表取得 ID 和 Name 欄位:SELECT ID, Name FROM Person
UNION
SELECT ID, Name FROM Member
UNION ALL: 與 UNION 的作用類似,上下兩句查詢結果合併在一起,差異在於 UNION ALL 會列出包含重複資料的所有結果,而 UNION 僅列出不重複的所有結果。SELECT * FROM Person
WHERE NOT EXISTS (
SELECT ID FROM Member WHERE Person.ID=Member.ID)
if 的寫法:CASE 開頭WHEN: 後方接條件THEN: 數值或其它 SQL 語法ELSE: 預設情況下的數值或其它 SQL 語法END 結尾SELECT Name, CASE
WHEN IsMember=0, THEN 'Not Member'
WHEN IsMember=1, THEN 'Member'
ELSE 'Unknown'
END AS IsMember
FROM Person