一、什么是内连接、外连接、交叉连接、笛卡尔积呢
内连接(inner join):取得两张表中满足存在连接匹配关系的记录;
外连接(outer join):不只取得两张表中满足存在连接匹配关系的记录,还包括某张表(或者两张表)中不满足匹配关系的记录。
交叉连接(cross join):显示两张表所有记录一一对应,没有匹配关系进行筛选,它是笛卡尔积在SQL中的实现,如果A表有m行,B表有n行,那么A和B交叉连接的结果就有m*n行。
笛卡尔积:数学中的一个概念,例如集合A={a,b},集合B={1,2,3},那么A × B={<a,1>,<a,2>,<a,3>,<b,1>,<b,2>,<b,3>}。
二、MySQL 的内连接、左连接、右连接有有什么区别?
MySql的连接主要分为内连接和外连接,外连接常用的有左连接和右连接。
内连接(inner join):在两张表进行连接查询时,只保留两张表中完全匹配的结果集;
左连接(left join):在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录;
右连接(right join):在两张表进行连接查询时,会返回右表所有的行,即使在坐表中没有匹配记录。
标签:匹配,笛卡尔,记录,两张,MySQL,join,连接 From: https://blog.51cto.com/u_16255459/7639528