1. MySQL 连接类型
- 交叉连接 (CROSS JOIN)
- 内部联接 (INNER JOIN)
- 左连接 (LEFT JOIN)
- 右连接 (RIGHT JOIN)
MySQL 目前不支持全连接 FULL OUTER JOIN
2. 笛卡尔积:CROSS JOIN
笛卡尔积就是将A表的每一条记录与B表的每一条记录强行拼在一起
A表有n条记录,B表有m条记录,笛卡尔积产生的结果就会产生 n*m
条记录
3. 内连接:INNER JOIN
- 内连接 INNER JOIN 是最常用的连接操作
- 从数学的角度讲就是求两个表的交集,从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录
示例:INNER JOIN,WHERE(等值连接)
SELECT * FROM blog INNER JOIN type t ON blog.typeId = type.id;
SELECT * FROM blog JOIN type ON blog.typeId = type.id; -- JOIN(省略INNER)
SELECT * FROM blog, type WHERE blog.typeId = type.id;
4. 左连接:LEFT JOIN
从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表中剩余的记录
5. 右连接:RIGHT JOIN
从笛卡尔积中挑出ON子句条件成立的记录,然后加上右表中剩余的记录
10. 参考文档
- MySQL JOIN
https://www.sjkjc.com/mysql/join/
- MySQL的JOIN 用法
https://www.cnblogs.com/fudashi/p/7491039.html
网友评论