什么是内连接、外连接、交叉连接(笛卡尔积)?

1、内连接(inner join):取得两张表中满足存在连接匹配关系的记录。

            完整语法:左表inner join  右表 on 匹配条件

            MySQL语法:左表 join  右表 on 匹配条件

2、外连接(outer join):取得两张表中满足存在连接匹配关系的记录,以及某张表(或两张表)中不满足匹配关系的记录。具体又分为:左外链接、右外连接、全外链接。

          2.1、左外连(left outer join):除显示两表满足匹配关系的记录,还显示左边表不满足匹配关系的记录; 

            完整语法:左表left outer join  右表 on 匹配条件

            MySQL语法:左表 left outer join 右表 on 匹配条件

          2.2、右外连(right outer join):除显示两表满足匹配关系的记录,还显示右边表不满足匹配关系的记录; 

            完整语法:左表right outer join  右表 on 匹配条件

            MySQL语法:左表right outer join 右表 on 匹配条件

        2.3、全外连(full outer join):除显示两表满足匹配关系的记录,还显示左右表不满足匹配关系的记录; 

            完整语法:左表full  outer join  右表 on 匹配条件

            MySQL语法:MySQL不支持全外连语法,可以用一条左外语句union一条右外语句的到同样的效果。

3、交叉连接(cross join):显示两张表所有记录一一对应,没有匹配关系进行筛选,也被称之为:笛卡尔积。      

            完整语法:左表cross join  右表  

            MySQL语法: 左表join 右表 或 左表,右表

原文地址:https://www.cnblogs.com/suger-4/p/12188667.html