今天介紹 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