SQL中的JOIN和UNION的用法

SQL中的JOIN和UNION的用法
  JOIN是两张表做交连后里面条件相同的部分记录产生一个记录集,
  UNION是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。

JOIN用于按照ON条件联接两个表,主要有四种:
  INNER JOIN:内部联接两个表中的记录,仅当行符合联接条件时,内联接才返回该行。
  LEFT JOIN / LEFT OUTER JOIN:外部联接两个表中的记录,并包含左表中的全部记录。如果左表的某记录在右表中没有匹配记录,则在相关联的结果集中右表的所有选择列表列均为空值。
  RIGHT JOIN / RIGHT OUTER JOIN:外部联接两个表中的记录,并包含右表中的全部记录。
  FULL JOIN / FULL OUTER JOIN:完整外部联接返回左表和右表中的所有行。就是LEFT JOIN和RIGHT JOIN和合并,左右两表的数据都全部显示。

UNION将两个或更多查询的结果集组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。
  要求表具有相同的列结构,列数也要相同,列名可以不同,以第一个表的列名为新表的列名
  其中两种不同的用法是UNION和UNION ALL,区别在于UNION从结果集中删除重复的行。如果使用UNION ALL 将包含所有行并且将不删除重复的行。

JOIN相当于多块积木并排放,UNION相当于多块积木摞起来。

原文地址:https://www.cnblogs.com/moleme/p/4936464.html