join 是兩張表根據條件相同的部分合並生成一個記錄集。
SELECT Websites.id, Websites.name, access_log.count, access_log.date
FROM Websites
INNER JOIN access_log
ON Websites.id=access_log.site_id;
union是產生的兩個記錄集(字段要一樣的)並在一起,成為一個新的記錄集 。
其中兩種不同的用法是UNION和UNION ALL,區別在於UNION從結果集中刪除重復的行。如果使用UNION ALL 將包含所有行並且將不刪除重復的行。
UNION和UNION ALL的區別:
union 檢查重復
union all 不做檢查
比如 select 'a' union select 'a' 輸出就是一行 a
比如 select 'a' union all select 'a' 輸出就是兩行 a