JOIN和UNION的区别

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

posted @ 2019-05-13 12:11  goodman8  阅读(5599)  评论(0编辑  收藏  举报