MySQL JOIN UNION

图解mysql

JOIN 内链接

JOIN 默认就是 INNER JOIN 的简写,从数学的角度讲就是求两个表的交集,从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录。sql

FULL JOIN
MySQL 中没有 FULL JOIN,就是两表相连,能够使用 UNION 来代替app

OUTER JOIN spa

  • LEFT JOIN (就是 LEFT OUTER JOIN)
    两表关联,左表所有保留,右表关联不上用 NULL 表示
  • RIGHT JOIN (就是 RIGHT OUTER JOIN)
    右表所有保留,左表关联不上的用 NULL 表示。

CROSS JOIN

cross join 是mysql中的一种链接方式,区别于内链接和外链接,对于 cross join 链接来讲,其实使用的就是笛卡尔链接。在MySQL中,当 CROSS JOIN 不使用WHERE子句时,CROSS JOIN产生了一个结果集,该结果集是两个关联表的行的乘积。一般,若是每一个表分别具备n和m行,则结果集将具备n*m行 3d

若是 cross 不实用 join 的效果与 inner join 不使用 on 的结果是同样的code

UNION

MySQL UNION 操做符用于链接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。blog

SELECT country, name FROM Websites  
    WHERE country='CN'  
    UNION ALL  
    SELECT country, name FROM apps

若是不想删除重复数据,那么使用 UNION ALLrem

相关文章
相关标签/搜索