Mysql数据库Join

Mysql的Join就是联表查询,常用链接分为:内连接,右连接,左连接。Mysql是不支持外连接,还有自然链接没用用过。

首先下图是链接数学几何定义

1》笛卡尔积:CROSS JOIN

  笛卡尔积就是将A表的每一条记录与B表的每一条记录交叉链接在一起。假如,A表有10条记录,B表有5条记录,笛卡尔积产生的结果就会产生50条记录。所以链接表时候不做条件赛选就等于慢查询,极大浪费资源。

2>内连接:INNER JOIN

  内连接INNER JOIN是最常用的连接操作。一般是默认操作,从数学集合角度讲等于两个表的交集;从笛卡尔积角度讲就是挑出ON子句条件成立的记录。有以下写法:

  写法1:内连接INNER JOIN 

    SELECT * FROM t_blog INNER JOIN t_type ON t_blog.typeId=t_type.id;

  写法2:WHERE(等值连接)

    SELECT * FROM t_blog,t_type WHERE t_blog.typeId=t_type.id;

3》左连接:LEFT JOIN

  左连接LEFT JOIN的含义就是求两个表的交集外加左表剩下的数据。从笛卡尔积角度,就是挑出ON子句条件成立记录,然后加上左表中剩余的记录。

4》右连接:RIGHT JOIN

  同理右连接RIGHT JOIN就是求两个表的交集外加右表剩下的数据。从笛卡尔积角度,就是挑出ON子句条件成立记录,然后加上右表中剩余的记录.

原文地址:https://www.cnblogs.com/huhu1020387597/p/11477621.html